侧边栏壁纸
  • 累计撰写 781 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

基本类型包装类

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 103 阅读 / 818 字
温馨提示:
本文最后更新于 2022-04-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
目的 :
让基本类型能进一些类才能进的地方。 调用一些类里封装的方法
各个的包装类
byte → Byte
short → Short
int → Integer
long → Long
float → Float
double → Double
char → Character
boolean→ Boolean
例子 : 以int的包装类Integer为例
把123转成String?
new Integer(123).toString(); String.valueOf(123);
把“123”转成int?
Integer.parseInt("123");
即123.方法 是报错的,因为123是int类型的常量。想要调用int的一些方法就要用包装类。 Integer(123) 有许多方法可以调用。
自动拆箱,自动装箱
和非包装类用==比较时就会自动拆箱.
Print(int) 时,就是自动装箱成Integer并调用toSting方法。 Integer类型加减时就是自动拆箱,然后进行基本类型能进行的加减运算。
特性
看看下面的代码:
Integer i1 = 100, i2 = 100, i3 = 150, i4 = 150;
System.out.println(i1 == i2);
System.out.println(i3 == i4);
输出  true  false
一是因为==比较的是地址. 二是因为-128~127是byte的取值范围,如果在这个取值范围内,自动装箱就不会创建新的对象,而是从常量池中获取,超过了byte取值范围就会再创建新对象~这个就是 i1==i2 的结果为 true 的原因了

基本类型包装类
JDK5新特性自动装箱拆箱
自动装箱:把基本类型转换为包装类类型
int基本类型可以直接赋值给包装类对象
自动拆箱:把包装类类型转换为基本类型
包装类对象可以直接与基本类型进行计算
直接计算时需要进行滤空操作
java虚拟机为了优化8种基本数据类型的包装对象都提供了缓冲池,缓冲池有大小,一个字节。
0

评论区