a是一个TextField
a.getText()==null
a.getText().equals("")
这个两个判断有什么区别?

解决方案 »

  1.   

    当然有区别了,null是空对象,没有实例对象。
    “”是空字符串,有实例对象的。
      

  2.   

    就是"" 和null  的区别。
      

  3.   

    equal函数只能检测对象的引用是否相同
      

  4.   

    a.getText()==null  这个是判断a所获取的内容是否是一个空的对象,没有进行实例化的
    a.getText().equals("")   这个是判断a所获取的内容是否是一个"",是经过实例化的一个具体对象
      

  5.   

    null可以理解为根本没有这个对象
    ""可以看为由这个对象,但是这个对象没有内容
      

  6.   

    null与""的区别前者是空的对象后者是空串是个具体对象。
      

  7.   

    举个不太恰当的例子,你现在没房子,就是null,有了房子,房子里面啥东西都没有,就是“”
      

  8.   


    null:是一个空的引用,没有对其值进行内存分配;
    "": 是一个字符串对象,分配了内存来保存其值"";
    a.getText()==null:判断a.getText()是否未初始化;
    a.getText().equals(""):前提是a.getText()已经初始化,并判断其值是否是"";
    要进行 a.getText().equals("") 判断,首先要判断a.getText()!=null,否则就会报NullPointerException;
      

  9.   

    嗯!Java学的不精,多谢大家的指导