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)
如上所述,是另一回事.