在Java中,String s = new String()是否有用?

时间:2012-03-10 23:33:30

标签: java string constructor arguments

由于Strings在Java中是不可变的,为什么我要使用无参数的String构造函数并创建一个对象?

变量s如何对我有用:

String s = new String();

3 个答案:

答案 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之前)。