我想打印:
Permissive mode: ON
或者
Permissive mode: OFF
我试图像这样在一行中做到这一点:
logMessage("Permissive mode: " + (isPermissive == true) ? "ON" : "OFF" );
我可以做完整的if / else语句和一个单独的ON / OFF变量,但是试图使其简短些...
您需要在条件赋值运算符周围加上括号,? :
因为它前面有一个加法运算符,并且+
优先级高于? :
。
没有括号, "Permissive mode: " + (isPermissive == true) ? "ON" : "OFF"
相当于 ("Permissive mode: " + (isPermissive == true)) ? "ON" : "OFF"
+
具有String操作数的加法运算符的结果不是a boolean
,因此编译器将正确地对表达式进行抱怨。
如果要首先对运算符进行运算,则需要在其前面加上括号,使其优先级较低:
logMessage("Permissive mode: " + (isPermissive ? "ON" : "OFF") );
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句