【发布时间】:2026-02-03 04:10:01
【问题描述】:
这个问题是我刚才对this question 的回答的结果。
有人声称这段代码“丑陋”,因为它将一个变量初始化为一个永远不会被读取的值:
String tempName = null;
try{
tempName = buildFileName();
}
catch(Exception e){
...
System.exit(1);
}
FILE_NAME = tempName;
这确实是不好的做法吗?是否应该避免将变量初始化为永远不会实际使用的虚拟值?
(编辑-
在将值连接到字符串的循环之前将字符串变量初始化为"" 怎么样?还是属于单独的类别?
例如
String whatever = "";
for(String str : someCollection){
whatever += str;
}
)
【问题讨论】:
-
仅供参考,
null + "hello"编译并运行得很好 -
@zildjohn01 - 我刚试了一下,结果得到了字符串“nullhello”
-
你在使用 Java 吗?我在 C# 中...在任何地方都没有看到语言标签。
-
哦,真的。我使用的是 Java,但没有标记它,因为我的意思是问题与语言无关
标签: default-value variable-initialization