effective java 第49条 基本类型优先于装箱类型
作者说道了两者的区别,这个大家都懂的,明显不一样的东西
个人觉得是不完全面向对象的产物,然后又提供语言级别的自动转换,两种东西都不是一类,越转问题越大,还不如统一使用
使用中的一些问题:
1.==的使用出现问题
2.null拆箱问题
比如:我的方法返回类型是int 但是调用框架类处理完成返回是Integer,这个时候不检查null,问题就来了,
public int getCtgId(String name)
{
return (Integer)XX.xx();
}
要么统一,要么规范严格
1.每次Integer和int一起操作(比较/转换/赋值)都要价校验null
2.每次比较设计到两边都是装箱类型,必须equals