搜索
写经验 领红包
 > 时尚

java基本类型部分理解是什么(java基本类型部分理解和运用)

导语:java基本类型部分理解

个人理解,如有错误,欢迎指正,谢谢。

1.基本类型 和 封装类型 运算或比较 时,

例如 int+Integer或boolean&Boolean,特别是经常出现的 int==Integer

java都会先将封装类型 拆箱,再进行运算,而拆箱 是调用“基本类型Value()”函数,所以如果封装类型为null时会报 空指针异常 NullPointerException,就是因为调用了函数。

2.因为上述大部分类型对于数值的缓存,所以 封装类的使用上,例如

Integer a = 127, b = 127; Integer a1 = 128, b1 = 128; System.out.println(a == b); //TRUE System.out.println(a1 == b1);//FALSE
Character a = 127, b = 127; Character a1 = 128, b1 = 128; Character a2 = (char)-1, b2 = (char)-1; System.out.println(a == b);//TRUE System.out.println(a1 == b1); //FALSE System.out.println(a2== b2); //FALSE

都一样,是这个性质,因为都是调用的“封装类.valueOf”方法返回的对象,而这个对象 在缓存中有时,会返回缓存对象。

Boolean和Byte特别在 他们所i有的值 都在缓存中有。

Character 有意思在,虽然负数也在该范围内,但没缓存,可能是 用不到

2.byte,char,short,Int,long之间的转换

低位数 到 高 位数 转换 没问题

从高位 到 低位 转换 就是 直接取 低位

例如 long 转int 就是 取long的低32位作为 int的值,这时 如果 低32位的 第一个二进制是1,那转为int就是 负数

本文内容由小海整理编辑!