Java字符串初始化和默认值

时间:2015-07-26 12:23:35

标签: java string

将String初始化为

是否正确
String value = new String("test");

string的值在多个地方分配,如果value为null,则应该采用test的默认值,这意味着如果我声明

String value = null;

在某些时候,如果在代码中没有分配值,我会分配一个值。

3 个答案:

答案 0 :(得分:4)

我认为默认情况下您无法将value= "test"更改为value。如果字符串“test”对您非常重要,那么当您访问 if(value == null){ value = "test"; } 时,请执行以下操作:

getStringValue()

不是在代码中的任何地方写这个条件,而是可以调用函数value而不是使用 String getStringValue(){ if(value == null){ value = "test" } return value; }

RandInt()

这与检查上述条件相同,但这会产生更清晰的代码,并且您不需要每次都写入该条件。

答案 1 :(得分:3)

如果稍后将变量分配为null,则变量不能具有默认值。那不存在。

如果你这样做

String a = "test"; 
// ...
a = null;

然后a将具有值null。如果你想使用" test"而不是null,那么你必须明确地做到这一点:

String actualValue = a;
if (actualValue == null) {
    actualValue = "test";
}

或只是

String actualValue = a == null ? "test" : a;

答案 2 :(得分:1)

如果您希望字符串不为null,则可以在分配之前检查该值。

{{1}}