【发布时间】:2011-03-20 05:31:25
【问题描述】:
你更喜欢哪个,为什么”
String myString = null;
if(someCondition)
myString = "something";
else
myString = "something else";
或
String myString = "";
if(someCondition)
myString = "something";
else
myString = "something else";
我知道可以使用三元 (? :) 运算符,但我想了解以上两个。
【问题讨论】:
-
注意声明“String myString;”在 Java 中导致它被隐式初始化为 null。
-
@Jim:仅适用于实例和静态变量。不适用于局部变量 - 必须先明确分配它们,然后才能读取它们。
-
@Jim 跟进 Jon 的评论,如果变量没有被初始化,Java 甚至不会让你操作它,你会得到“变量 foo 可能没有被初始化”
-
我希望后者应该在 FindBugs 中生成
Dead store to myString警告 -
@Jon:感谢您的澄清。
标签: java conditional preferences variable-initialization