想象一下,你想编写一个简单的方法,它接受一个名为" foo"的String参数。该方法应该返回int" 1"如果foo等于" toto"和" 2"在其他情况下。在不使用三元表达式的情况下编写此方法的最佳方法是什么?
我有几个解决方案,但不能自己决定哪个是Java中最好的。
解决方案1:
public int method1(String foo){
if("toto".equals(foo)){
return 1;
}
return 2;
}
解决方案2:
public int method2(String foo){
if("toto".equals(foo)){
return 1;
} else {
return 2;
}
}
解决方案3:
public int method3(String foo){
int result = 2;
if("toto".equals(foo)){
result = 1;
}
return result;
}
解决方案4:
public int method4(String foo){
int result = 0;
if("toto".equals(foo)){
result = 1;
} else {
result = 2;
}
return result;
}
还有其他想法吗?
请记住,我搜索没有三元条件的解决方案。
谢谢,
编辑:我知道所有以前的方法都给出了预期的结果,所以可以使用它们。在我最初的问题中,我想知道什么以及什么不清楚:Java社区中是否存在某种关于这种情况的标准? 例如,我知道括号的位置有一个标准:你可以在if语句之后添加一行,但是大多数人都不会用Java来做。
我知道这里的三元表达可能是最好的。但是,正如你可以想象的那样,我的真实"方法比这更复杂,不能使用三元。我在这里提出的问题只是一个简化,而不是整个真正的问题。
答案 0 :(得分:2)
我认为,最好的是最具可读性的
public int method(String foo){
return "toto".equals(foo)?1:2;
}