本帖最后由 clevergump 于 2014-10-6 09:16 编辑
1. String str1 = null; 表示未给str1分配内存空间,而String str2 = ""; 表示已给str2分配内存空间,只是str2这个引用指向的内存空间没有存放任何内容。
2. 还是1中描述的str1和str2,str1不能调用String类中定义的方法,而str2就可以。如果str1调用了这些方法,就会报空指针异常NullPointerException,而str2就不会,由于str2这个引用指向的内存空间没有存放任何内容,所以 str2.isEmpty()==true, str2.length()==0 。
3. 总结一下,String str2 = "";这句话等价于 str2 != null && str2.length()==0
|