由于Strings在Java中是不可变的,为什么我要使用无参数的String构造函数并创建一个对象?
变量s
如何对我有用:
String s = new String();
答案 0 :(得分:7)
new String()
是一个空字符串。这可以是方法的返回值,例如,如果您没有更有趣的返回值。使用文字""
可能更好,因为文字空字符串值已经被实习。
答案 1 :(得分:4)
这是一个空字符串,相当于""
。来自javadoc:
初始化新创建的String对象,使其表示空字符序列。请注意,由于字符串是不可变的,因此不必使用此构造函数。
编辑:
使用等效词这个词的选择不当。澄清以下所有内容均为true
:
"" == ""
"" != new String()
"".equals(new String())
答案 2 :(得分:3)
由于字符串在Java中是不可变的,为什么我要使用参数less String constructor并创建一个对象?
唯一的原因是,如果您想要创建一个equal
到""
但不相同的字符串。即便如此,你更有可能在new String(str)
调用str
空字符串。{/ p>
提供构造函数的真正原因尚不完全清楚。然而它没有任何害处,并且可能有一些理由在开始时(在Java被称为Java之前)。