三元表达式大家会经常用,格式:expression1 ? expression2 : expression3 ,准确利用三元表达式可以写出漂亮高效的代码,最近笔者用三元表达式踩了个深坑
- 场景1:三元表达式运用在if的复合判断中
public static void main(String[] args) {
Param param = getParam();
User vo = null;
boolean flag = checkParam(param);
if (vo != null && flag ? param.getType != 1 : vo.getName != null) {
System.out.println("失败");
}
System.out.println("结束");
}
输出结果会是什么? 输出结果:
失败
结束
为什么呢? vo明确是null,为什么会进if判断里面 。
如果你代码是这样写的,idea也不会提示代码有问题。下面我把代码改下,看下idea会如何提示
- 场景2:三元表达式在if复合判断中,idea提示代码有问题
publi