它被解释为以下代码:
String x = str != null ? "A" : ("B" + str == null ? "C" : "D");"B" + str不为null,因此将被评估为
"D"
借助OSborn的答案,您可以使用以下代码执行期望的操作:
String x = (str != null ? "A" : "B") + (str == null ? "C" : "D");
并且由于您只是与进行比较
str,
null并且两个条件语句几乎相同,因此可以将其缩短为:
String x = (str != null ? "AD" : "BC");



