空字符串和空字符串之间的区别

2022-08-31 20:13:11

空字符串 () 和空字符串 () 之间有什么区别?String s = nullString 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

这是什么意思?


答案 1

String s1 = "";表示空值已分配给 。在这种情况下,与 相同,这将按预期结果。Strings1s1.length()"".length()0

String s2 = null;表示 () 或“根本没有值”被分配给 。所以这个,和 是一样的,这将产生一个,因为你不能在Java中调用变量(指针,某种程度上)的方法。nulls2s2.length()null.length()NullPointerExceptionnull

另外,一点,语句

String s1;

实际上具有与以下相同的效果:

String s1 = null;

String s1 = "";

如前所述,这是另一回事。


答案 2

Null没有任何意义。它只是一个字面意思。 是参考变量的值。但空字符串为空。它给出了 .空字符串是一个空白值,表示字符串没有任何东西。Nulllength=0