Java基础:(一)数据类型
程序员文章站
2022-06-04 11:05:53
一、包装类型 基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。 八个基本类型:boolean/1;byte/8;char/16;short/16;int/32;float/32;long/64;double/64 二、缓存池 new Integer(123)与 ......
一、包装类型
基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。
八个基本类型:boolean/1;byte/8;char/16;short/16;int/32;float/32;long/64;double/64
二、缓存池
new integer(123)与integer.valueof(123)的区别在于,new integer(123)每次都会新建一个对象,而integer.valueof(123)可能会使用缓存对象,因此多次使用integer.valueof(123)会取得同一个对象的引用。
编译器会在自动装箱过程中调用valueof() 方法,valurof()方法的实现是先判断值是否在缓存池中,如果在的话就直接返回缓存池的内容,如果不在的话,就要新建。
java缓存池中基本类型的值:boolean:true和false;byte:-128-127;short:-128-127;int:-128-127
integer a = integer.valueof(128); integer b = integer.valueof(128); system.out.println(a==b); //值为false,因为128超出了缓存池中int表示的范围 integer a = integer.valueof(127); integer b = integer.valueof(127); system.out.println(a==b); //值为true integer a = 128; integer b = 128; system.out.println(a==b) //值为false,自动装箱过程中编译器会调用valueof()方法
上一篇: Java全栈程序员之08:MAVEN+JAVA配置
下一篇: spring之旅第六篇-事务管理