包装类
Integer A = null;
System.out.println(A==2);
会报空指针异常.
因为包装类的拆包过程中调用intValue()方法导致了null.intValue();
Integer和int类型进行比较,
使用equals比较好.空指针
日期时间
public void getBetweenDays(){
LocalDate target =LocalDate.of(2019,8,6);
LocalDate nowDay=LocalDate.now();
Period between =Period.between(target,nowDay);
System.out.println(between.getDays());
}
//少用if-else
//多用卫语句
表达异常的分支时,少用 if-else 方式 ,这种方式可以改写成:
if (condition) {
…
return obj;
}
// 接着写 else 的业务逻辑代码;
说明:如果非得使用 if()…else if()…else… 方式表达逻辑,【强制】避免后续代码维
护困难,请勿超过 3 层。
正例:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,
其中卫语句示例如下:
public void today() {
if (isBusy()) {
System.out.println(“change time.”);
return;
}
if (isFree()) {
System.out.println(“go to travel.”);
return;
}
System.out.println(“stay at home to learn Alibaba Java Coding Guidelines.”);
return;
}
UNION的用法
用于将字段顺序与字段名相同的查询结果集连接起来,
如查表1 name,age,表二name,age
则可以用
(select name,age from 表1)
union (select name,age from 表2)
如果允许重复值,则可以使用union all.
如 根据姓名查询年龄,先查表一,后查表2,查到则返回.
可以用
(select name,age,1 as priority from 表1)
union (select name,age ,2 as priority from 表2)
order by priority asc
limit 1