0%

有必要预先初始化不可能不被赋值的变量吗

❓ 有一个函数:

1
2
3
4
5
6
7
8
9
10
private String myMethod(String gender)
{
String newString = "";
if(gender.equals("a"))
newString = internal.getValue();
else
newString = external.getValue();

return newString;
}

我重构了所有内容,但有一个小的变化:String newString; 而不是:String newString = "";

这样重构可以改善代码吗? 我知道当我们不初始化String时,它为null,但是在此示例中,它将始终从if or else中获得值a。 这个重构会改变什么吗?


✔️ 这里不需要最初分配值;代码执行的所有分支都将给newString一个值。因此,您根本不需要初始化它。

代替两个返回值或一个if else语句来分配变量,返回一个三元数更简洁:

1
2
3
4
5
private String myMethod(String gender) {
return gender.equals("a")
? internal.getValue()
: external.getValue();
}