use*_*212 0 java if-statement return
我有一个简单的if/elseif条件,我正在尝试将其转换为带有Ternay运算符的返回语句,以实现代码冗余,但我无法做到.
任何帮助将不胜感激,谢谢.
这是我的代码片段:
if (val.equals("a")||val.equals("s")){
return true;
}
else if (val.equals("b")||val.equals("t")) {
return false;
}
return true;
Run Code Online (Sandbox Code Playgroud)
有人可以建议如何继续上述if/else-if的return语句(三元运营商)吗?
这里不需要条件运算符.您的代码将返回true,只要val既不b是t:
return !(val.equals("b") || val.equals("t"));
Run Code Online (Sandbox Code Playgroud)
要么:
return !val.equals("b") && !val.equals("t");
Run Code Online (Sandbox Code Playgroud)
第一个条件周围a和s是完全不相干,作为"默认" return true的底部已经包含了这些情况.
编辑:既然你已经将返回类型更改为int,那么使用条件运算符是合理的:
return val.equals("b") || val.equals("t") ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)