当前位置: 首页 > 面试题库 >

JAVA 三元运算符

周峻
2023-03-14
问题内容

是否可以更改此:

if(String!= null) {

    callFunction(parameters);

} else {

    // Intentionally left blank

}

…对三元运算符?


问题答案:

好吧,ternary operatorJava中的行为就像这样……

return_value = (true-false condition) ? (if true expression) : (if false expression);

…另一种看待它的方式…

return_value = (true-false condition) 
             ? (if true expression) 
             : (if false expression);

你的问题有点含糊,我们必须在这里假设。

  • 如果(且仅当)callFunction(...)声明了一个non-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


 类似资料:
  • 问题内容: 有人可以解释为什么这样的代码吗? 产生以下编译器错误: 不兼容的条件操作数类型ArrayList和HashSet 由于我不明白的原因,以下内容解决了该问题 我正在使用Java 1.4。 问题答案: 这是1.4 中的 错误 ,并已根据bugreport 5080917 进行了修复。 评估 这是一个错误。 xxxxx @ xxxxx 2004-07-30

  • 有没有办法用三元运算来实现这个。我对三进制很陌生,也许你可以指导我。 这个好像不行。

  • 模板可以支持三元运算符,如: {$status?'发布':'下线'} {$vo.status?'发布':'下线'} {$vo['status']?'发布':'下线'} 支持条件判断表达式: {$a==$b ? 'yes' : 'no'} 条件运算符可以是==、===、!=、!==、>=、<=

  • 请参考:http://www.kancloud.cn/manual/thinkphp/1802

  • 模板可以支持三元运算符,如: {$status?'发布':'下线'} {$vo.status?'发布':'下线'} {$vo['status']?'发布':'下线'} 支持条件判断表达式: {$a==$b ? 'yes' : 'no'} 条件运算符可以是==、===、!=、!==、>=、<=

  • 条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为 truthy ,则问号后面的表达式A将会执行;表达式A后面跟着一个冒号(:),如果条件为 falsy ,则冒号后面的表达式B将会执行。本运算符经常作为 if 语句的简捷形式来使用。(MDN) 三元运算符,也称条件运算符、三目运算符。 三元运算符可以代替简单的 if 语句。 1. 语