随着代码量的提升,个人也越来越比较懒,也更愿意使用一些复用,以及三元表达式:
java中的三元表达式还有一些坑的(将蹚过的坑列出供大家参考):
1.当返回值类型不同时,最后三元表达式将返回它们父类的类型.也就是说下面代码最终返回的为:Object
StringUtils.isNotBlank(id)?"1":new ArrayList();
2.默认会将类型强转:会将返回值类型默认进行强转
public class A{
public static void main(String[] args) {
char a = 'a';
int b = 20;
System.out.println(false?a:b); //打印b,b是8,所以打印出8
System.out.println(false?a:20); //打印8,但a是char型的,所以打印8的char字 //符,也就是backspace
System.out.println(false?20:a); //打印int型,也就是a
System.out.println(false?b:'a'); //打印a的ASCII码
}
}