Sha*_*yaz 44 java string null nullpointerexception
null string(String s = null)和空字符串(String s = "")之间有什么区别?
这就是我所拥有的:
String s1 = ""; //print statement does not print any thing for s1 but s1.length()=0
String s2 = null;//print statement prints "null" for s2 but s2.length() gives exception
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
acd*_*ior 62
String s1 = "";表示将空String分配给s1.在这种情况下,s1.length()是相同的"".length(),它将0按预期产生.
String s2 = null;表示null分配了()或"根本没有值" s2.所以这一个,s2.length()是一样的null.length(),这将产生一个NullPointerException,你不能调用方法null变量(指针,排序)在Java中.
还有,一点,声明
String s1;
Run Code Online (Sandbox Code Playgroud)
实际上有同样的效果:
String s1 = null;
Run Code Online (Sandbox Code Playgroud)
而
String s1 = "";
Run Code Online (Sandbox Code Playgroud)
如上所述,是另一回事.