定义了一个类型为contact
class contact{
String name="";
String value="";
}
当我用java返回这个类型时,什么时候为空啊?

解决方案 »

  1.   

    定义了一个类型为contact,当然为null了,有没有new 一下它呢?new 了才有的啊。
      

  2.   

    class Contact
    {
    String name="";
    String value="";
    public static void main(String[] args)
    {
    Contact con=null;
    System.out.println(con);
    }
    }
    当你初始化该变量为null时,就表示它的值为空。其实我没太搞清lz的意思。。
      

  3.   

    LZ估计把JAVA的类和C的结构体混起来了吧
    contact a=new contact()这是 a被事例化了才不为空
      

  4.   

    比如在 xml中,我将这个类写成如下标记
    <Contactlist>
    <Contact>
       <name>123</name>
       <value>456</value>
    </Contact>
    <Contact>
       <name>123</name>
       <value>456</value>
    </Contact>
    <Contact>
       <name>123</name>
       <value>456</value>
    </Contact>
    <Contactlist>
    我解析后获取到Contactlist是contact的数组
    但是如果xml是以下形式
    <Contactlist>
    </Contact>
    </Contactlist>
    我解析后获取到的数组长度仍然是1。
    解析过程是代码自动解析
      

  5.   

    因为
    String name="";
    String value="";这样的定义不是name跟value为空,而是一个没有任何字符的值,如果你要定义为空要这样写
    String name=null;
    String value=null;
    注意,null跟“”是不相等的
      

  6.   

    什么叫:
    但是如果xml是以下形式
    <Contactlist>
    </Contact>
    </Contactlist>

    中间的元素呢?
      

  7.   

    如果只进行定义而没有实例化,返回的对象肯定为null,如果再对这个null对象进行引用的话就会发生空指针异常。如果返回的对象已经实例化了,那返回的对象就不会是null,哪怕就简单地new一下都不会为null,像String s = “”;都不会为null,它的值会是一个空格。 
    总的来说判断是否为null,就看这个引用是否指向一个具体的对象,如果没有则为null。
      

  8.   

    to jjoohhnn13() :中间没有元素吗,也就是没有值啊