问题描述
将String初始化为是否正确
String value = new String("test");
字符串的值在多个位置分配,如果value为null,则应采用默认值test,这意味着如果我声明
String value = null;
在某些时候,如果代码中未分配值,则我已分配了一个值。
1楼
我认为您默认情况下将无法将value = null
更改为value= "test"
。
如果字符串“ test”对您确实很重要,那么在访问value
,请执行以下操作:
if(value == null){
value = "test";
}
与其在代码中的任何地方编写此条件, getStringValue()
做的是调用函数getStringValue()
而不是使用value
。
String getStringValue(){
if(value == null){
value = "test"
}
return value;
}
这与检查上述条件相同,但是这会产生更清晰的代码,您无需每次都编写该条件。
2楼
如果稍后将变量赋给null,则变量不能使用默认值。 那不存在。
如果你这样做
String a = "test";
// ...
a = null;
那么a
的值为null
。
如果要使用“ test”而不是null,则必须明确地执行此操作:
String actualValue = a;
if (actualValue == null) {
actualValue = "test";
}
或简单地
String actualValue = a == null ? "test" : a;
3楼
如果您希望字符串不为空,则只需在分配值之前检查该值即可。
String value = valueCommingFromSomewhere;
if (value == null) {
value = "myDefaultValue";
}