有没有可能改变这一点:
if (string != null) {
callFunction(parameters);
} else {
// Intentionally left blank
}
到三元运算符?
三元运算符可用于组合两个表达式,但空语句不是表达式。
如果方法返回值(read:is not declared < code > void ),则方法调用可以用作表达式,并且它可以与伪常数< code>null一起使用,以形成三元运算符,但是结果将再次是在需要语句的地方不允许的表达式,换句话说,它不能替换< code>if语句。
通过添加另一个采用表达式并没有附加额外副作用的构造,您可以构造一个完整的替换。例如。通过声明和分配一个新的、否则未使用的局部变量,您可以获得:
Object dummy=condition? callFunction(parameters): null;
但是简单地说if(条件)调用函数(参数)没有任何好处;
。它甚至可能会增加不必要的开销,因为如果返回值是原始类型,它将执行自动装箱。
用Java
((Runnable)(condition? ()->callFunction(parameters): ()->{})).run();
但它仍然没有简单使用if
的优势。
是的。您可以在< code>else块中保持相同的< code>null。
String result = str !=null ? callFunction(parameters) : null;
确保callFunction(参数)
返回字符串
。
Java中的< code >三元运算符就像这样...
return_value = (true-false condition) ? (if true expression) : (if false expression);
…另一种看待它的方式…
return_value = (true-false condition)
? (if true expression)
: (if false expression);
你的问题有点模糊,我们不得不在这里假设。
>
如果(并且仅当)的调用函数(…)
声明一个非无效的
返回值(对象
,字符串
,int
,双
,等等…)-它似乎没有通过你的代码这样做-那么你可以这样做…
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
模板可以支持三元运算符,如: {$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. 语
有没有可能改变这一点: …一个三元运算符?
我能用java写 甚至我可以在方法参数中传递它。 我怎么把它转换成Kotlin?在Kotlin中写同样的东西时显示错误。