String strwhere="" 和String strwhere; 有什么区别?各自在什么情况下 使用最合适?

解决方案 »

  1.   

    引用变量在进行非赋值操作前要进行初始化.String strwhere="";//已经产生一个空(不是null)的字符对象.
    String strwhere; //只是声明了一个引用变量,第一次使用它应该是一个赋值操作strwhere=xxxxxx当然了,如果是在成员里就要记得只是声明的话,JVM会给它一个null;
      

  2.   

    后者没有初始化,是null,不能调用String的方法
    比如说strwhere.equals(null)这里会出现nullPointerException异常。
    前者可以正常调用strwhere.equals("") //return true
      

  3.   

    String strwhere="";//声明并初始化
    String strwhere;//声明引用变量
    第一种在哪都合适,第二种作为局部变量的时候忘记赋值而使用会出异常