java包装类注意点

Integer one = new Integer(100);
Integer two = new Integer(100);
Integer three = 100;
Integer fore = 100;
Integer five = 200;
Integer six = 200;


one==two    两个Integer对象,,结果为false,内存空间不是同一个
one==three  一个Integer对象,,two进行了自动拆箱操作,结果为true
three==fore 两个Integer对象,,Integer.valueOf();自动装箱时提供一个缓存区(对象池),第二次如果参数(大于-128小于127)会在缓存区中寻找有没有相同对象,有直接使用,结果为true
five==six  结果为false.

在java中8中数据类型对应的包装类中除了float和double外都具有常量池的概念,即float和double类型的three==fore结果为false。

posted @ 2018-12-26 22:02  莫逸风  阅读(60)  评论(0编辑  收藏  举报