a==null;
a.equals("");
这两个有什么区别怎么用啊?[size=18px]

解决方案 »

  1.   

    null是空对象。""是一个字符串,只不过字符串是空的而已。
      

  2.   

    应该是a=null,是指变量a的值为空;
    a="",是指给变量a赋了一个空字符串。
    一般你的变量要在整个类中调用,就会先声明a=null,然后再方法中实例化。
    a="" 就是直接给a赋值了""。
      

  3.   

    null 是一个空引用。"" 是一个空字符串。
      

  4.   

    null就是空的,""是空字符串,里面没有字符,变量里面存储有在内存中开辟的地址,
    ==是比较两个变量的在内存中存储的地址是否相等,equals是比较两个变量的值。
      

  5.   

    可以把null想象成一种数据类型,而""是字符串类型的!!!
      

  6.   

    null是object无   ""是字符串
      

  7.   

    这里主要还是从c语言的指针去理解,因为在java里屏蔽了指针的概念,而是采用指向一说。当null时,表示当前对象不具备指向的地址位置,也就是说没有所指引对象,即可认为当前对象为一个:虚;而""则是表示指向地址存在,但是地址内的内容没有。
      

  8.   

    ""是长度为0的字符串,可按字符串处理。NUll是对象,按对象处理。希望对你有用。
      

  9.   

    ""是空字符串,也是一个对象,null是空,不指向任何对象
      

  10.   

    可以理解成:NULL 就是不存在。"" 就是存在,但是值是空。
      

  11.   

    你可以这样子理解null和""
    1、Null首先是个对象,""是个字符串
    2、狭义理解:用你口渴了,喝水理解的话:Null就是你根本就没有杯子,""意思是有杯子但是没有水。其实杯子专业说就是内存地址。
      

  12.   

    我看大家都说的对了,我就举个例子吧!
    String a = null ; String b = "" ;
    System.out.println(a + "q" + "w");
    (结果:会报空指针异常)
    System.out.println(b + "q" + "w");
    (结果:  qw   )
    很明显,a表示的是空对象,没有指向任何的对象;
    b表示的是一个没有任何内容的字符串,但其还是一个对象;
    用charAt验证也是很明显的。
      

  13.   

    这个我上面13楼说是一个对象是不对的,因为对象是被引用的所持有的,应该这样说
    a和b都是变量,在a = null和b = “” 时,会在内存中给b一个内存空间来存放数据
    (尽管是空数据,也会分配内存),但是不会给a分配内存
      

  14.   

    null是一个空引用,没有在内存开辟空间;而“”已经在内存开辟空间了,只是一个长度为零的空串,没有在内存放值而已。
      

  15.   

    这个,只单单从编程角度不好分析哦 ... 假设:
    内存有两个单元,分别是:0x0012ff64和0x0012ff80
    其中0x0012ff64中什么也没有
    而这0x0012ff80里面包含了一个字符串类对象所在地址,这个字符串对象中只单单包含了“”,即一个空字符串。那么,你的 a == null,就想当于把 0x0012ff64 放进了 a的单元里
    而a.equal("");则相当于a与0x0012ff80所指字符串对象的数据进行比较,比较其是否等价 ... ---------------
    大概就这么回事,
    班门弄斧啊,现丑了 ... 
      

  16.   

    用法:
    所有的Object都可以初始化为null,即
    Object o =null;
    而String s=""是初始化为空字符串
      

  17.   

    null 就相当于 你有个实体对象 比如 书包 你里面没放东西。"" 这个玩意 是根本什么都没有
      

  18.   

    null是java里面最大的对象,所有对象引用都可以指向null(Object oo = null)。
    所谓:“无生有,一生二,二生三,三生万物”。'无'在java中就是null,'有'可以看做0.
    '一生二'就是完成一次加法0-->1;'二生三'就是完成一次进位01-->10;'三生万物'就是说有了加法、
    有了进位就可以产生无穷尽的数。
    ""只是一个字符串类型的对象而已。
      

  19.   

    所有对象类型都可以是null(空),也就是常说的 “万法皆空”。
    String s = null,其实只是一个"色即是空的"例子。
    你是空、我也是空。有钱是空、没钱也是空。哈哈!
    以上只是个人的一点理解,若说的不对,请指教。