首页 > 代码库 > 实体类中用基本类型好,还是用包装类型好?
实体类中用基本类型好,还是用包装类型好?
实体类中用基本类型好,还是用包装类型好?
如果您也考虑这个问题欢迎指正我的观点,如果您正在考虑这个问题,欢迎评论一起讨论一下这个问题
刚才又想到了关于module或者实体类的建立的问题,用基本类型(int,long)好主要是,还是用包装类型(Integer,Long)好?
在过去很长时间我都自己冥想这个问题,也问过同事,都没有得到满意的答案,综合最近的学习,再考虑一下这个问题.
首先,分析各自的优缺点
基本类型(int,long)
优点
a.用于计算是效率高(effective java书上讲过的)
b.不会由于常量池引起比较大小错误(例如java integer对象判断两个数字是否相等)
缺点
1.当数据库中查询出结果之后封装结果集时如果返回的值时null时,如果直接赋值给这个基本类型的字段时,会在运行时报出异常,不能将null赋给一个基本类型,而用Integer就不存在这样都的情况
这个情况好像没有合适的避免办法.当没有默认值的情况下
2.当用spring的表单对象时如果页面传来的值是只有字段没有值是如果表单对象中有基本类型的值时会抛出异常.(可能存在,以前遇到过,记不清了)
包装类型(Integer,Long)
优点
1.可以存放null
2.表示一个值(不用于计算,只用于保存值时和int类型一样);
缺点
不适合
首先,一般情况下用包装类型,因为包装类型可以兼容null,
然后总结一个什么情况下用什么合适,有什么统一的或者其他的规避办法
明天继续
Java记录 -23- equals方法和双等号解析
http://www.2cto.com/kf/201510/447831.html
实体类中用基本类型好,还是用包装类型好?