假设您想要编写一个简单的方法,该方法采用名为“foo”的字符串参数。如果 foo 等于“toto”,则该方法应返回 int“1”,在其他情况下,该方法应返回“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 中不会这样做。
我知道三元表达式可能是最好的。但是,正如您可以想象的那样,我的“真实”方法比这更复杂并且不能使用三元。我在这里提出的问题只是一个简化,而不是完整的、真正的问题。
最佳答案
我认为,最好的就是最具可读性的
public int method(String foo){
return "toto".equals(foo)?1:2;
}
关于java - 在 if 中返回值的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998655/