【发布时间】:2015-12-25 19:14:33
【问题描述】:
您更喜欢以下哪一项:
SomeEnum enum = SomeEnum.SOMETHING;
if (aString.equals(anotherString)) {
enum = SomeEnum.SOMETHING_ELSE;
}
return foo.bar(enum);
或
if (aString.equals(anotherString)) {
return foo.bar(SomeEnum.SOMETHING_ELSE);
}
return foo.bar(SomeEnum.SOMETHING);
我想我会更喜欢第一个,因为它只有 1 个回报点。另一方面,我认为第二个更容易阅读。你怎么看?也许你有一个更复杂的解决方案。
【问题讨论】:
-
我个人会使用额外的局部变量,但使用条件运算符:
SomeEnum x = aString.equals(anotherString) ? SomeEnum.SOMETHING_ELSE : SomeEnum.SOMETHING; return foo.bar(x);不将其添加为答案,因为这确实是一个意见问题。 -
您是否打算拥有多个枚举,或者有问题的代码是您唯一的用例?
-
几个枚举?我只是在这里谈论一个枚举,那就是'SomeEnum'。
标签: java if-statement return