三元运算符 – JAVA [复制]
作者:互联网
参见英文答案 > Ternary Operators Java 6个
有可能改变这个:
if(String!= null) {
callFunction(parameters);
} else {
// Intentionally left blank
}
……给三元操作符?
解决方法:
那么,Java中的三元运算符就像这样……
return_value = (true-false condition) ? (if true expression) : (if false expression);
……另一种看待它的方式……
return_value = (true-false condition)
? (if true expression)
: (if false expression);
你的问题有点模糊,我们必须在这里假设.
>如果(且仅当)callFunction(…)声明一个非void返回值(Object,String,int,double等等) – 它似乎不是通过你的代码那样做 – 那么你可以做这个…
return_value = (string != null)
? (callFunction(...))
: (null);
>如果callFunction(…)没有返回值,那么就不能使用三元运算符!就那么简单.你将使用你不需要的东西.
>请发布更多代码以解决任何问题
尽管如此,三元操作符应该只代表替代任务!您的代码似乎没有这样做,所以您不应该这样做.
这是他们应该如何工作……
if (obj != null) { // If-else statement
retVal = obj.getValue(); // One alternative assignment for retVal
} else {
retVal = ""; // Second alternative assignment for retVale
}
这可以转换为……
retVal = (obj != null)
? (obj.getValue())
: ("");
由于您似乎可能只是想将此代码重构为单行代码,因此我添加了以下内容
此外,如果您的假条款真的是空的,那么您可以这样做……
if (string != null) {
callFunction(...);
} // Take note that there is not false clause because it isn't needed
要么
if (string != null) callFunction(...); // One-liner
标签:java,ternary-operator 来源: https://codeday.me/bug/20190915/1806464.html