首页 课程 师资 教程 报名

Java连续字符串中的条件运算符

  • 2020-07-22 16:10:31
  • 2440次 动力节点

知道为什么以下程序抛出一个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连续字符串中的条件运算符”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交