更新时间:2020-07-22 16:10:31 来源:极悦 浏览1989次
知道为什么以下程序抛出一个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了解操作符列表及其优先级.还要注意该页面顶部的警告:
Note:Use explicit parentheses when there is even the possibility of confusion.
以上就是极悦java培训机构的小编针对“Java连续字符串中的条件运算符”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习