编程语言
首页 > 编程语言> > 三元运算符 – JAVA [复制]

三元运算符 – 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