java – 连续字符串中的条件运算符
发布时间:2020-12-14 16:43:21 所属栏目:Java 来源:网络整理
导读:我想知道为什么以下程序抛出一个NPE public static void main(String[] args) { Integer testInteger = null; String test = "test" + testInteger == null ? "(null)" : testInteger.toString();} 而这个 public static void main(String[] args) { Integer
我想知道为什么以下程序抛出一个NPE
public static void main(String[] args) { Integer testInteger = null; String test = "test" + testInteger == null ? "(null)" : testInteger.toString(); } 而这个 public static void main(String[] args) { Integer testInteger = null; String test = "test" + (testInteger == null ? "(null)" : testInteger.toString()); } 没有.这当然是一个优先问题,我很好奇连接如何工作. 解决方法
这是了解
operator precedence的重要性的一个例子.
您需要括号,否则解释如下: String test = ("test" + testInteger) == null ? "(null)" : testInteger.toString(); 请参阅here了解操作符列表及其优先级.还要注意该页面顶部的警告:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |