比如:
Integer => int Boolean => boolean ...
人生最曼妙的风景,竟是内心的淡定与从容!
int是基本类型,Integer是对象,这是二者本质区别,具体使用见下图。
具体场合具体用。
一般bean里面基本类型即可。
如果字段涉及对象。那就用包装类型。
两个原则:
在需要使用对象的时候用 boxed 类型,在不需要对象的地方尽量使用 unboxed 类型
在整个程序中,尽可少的进行 boxed <==> unboxed 转换,换句话说,就是在必须转换的时候才转换
能用基本尽量用基本类型,如果需要用到包装类的时候再去转换吧
上面都说了许多,我说一个比较重要的一点,
Long i,long i 分别递加 ,分别运行一百万次,就会发现所需的时间相差非常非常大! 这是由于 Long对象运算时每次构造一个新的Long对象装long实例
看你需要使用null不,需要就用包装类型吧
尽量使用原生类型。需要传引用或者放进容器中就用包装器。
在32位系统中 存储一个Integer类型的开销: 32位存储对象引用 32位存储对象标记信息:对象状态等 32位存储对象的锁信息 32位存储int值信息 也就是说,初始化一个Integer对象需要开销128位内存空间
而一个普通int类型数据,只需要32位的信息。
在这样的情况下,你觉得优先考虑用什么呢?
除非必要,不然一律使用基本类型。
一般都是直接使用基本类型的,很少用封装的,除非有需要
int是基本类型,Integer是对象,这是二者本质区别,具体使用见下图。
具体场合具体用。
一般bean里面基本类型即可。
如果字段涉及对象。那就用包装类型。
两个原则:
在需要使用对象的时候用 boxed 类型,在不需要对象的地方尽量使用 unboxed 类型
在整个程序中,尽可少的进行 boxed <==> unboxed 转换,换句话说,就是在必须转换的时候才转换
能用基本尽量用基本类型,如果需要用到包装类的时候再去转换吧
上面都说了许多,我说一个比较重要的一点,
Long i,long i 分别递加 ,分别运行一百万次,就会发现所需的时间相差非常非常大!
这是由于 Long对象运算时每次构造一个新的Long对象装long实例
看你需要使用null不,需要就用包装类型吧
尽量使用原生类型。需要传引用或者放进容器中就用包装器。
在32位系统中 存储一个Integer类型的开销:
32位存储对象引用
32位存储对象标记信息:对象状态等
32位存储对象的锁信息
32位存储int值信息
也就是说,初始化一个Integer对象需要开销128位内存空间
而一个普通int类型数据,只需要32位的信息。
在这样的情况下,你觉得优先考虑用什么呢?
除非必要,不然一律使用基本类型。
一般都是直接使用基本类型的,很少用封装的,除非有需要