23.Java之包装类(包装类的分类,装箱,拆箱)

23.1.包装类的分类
  1. 针对八种基本数据类型相应的引用类型-包装类
  2. 有了类的特点,就可以调用类中的方法
基本数据类型包装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
23.2.包装类和基本数据的转换
  • 装箱:基本数据类型 -> 包装类型
  • 拆箱:包装类型 -> 基本数据类型

jdk5前是手动装箱和拆箱

//手动装箱 int->Integer
int n1 = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
//手动拆箱
int i = integer.intValue();

jdk5后就可以自动装箱和自动拆箱

int n2 = 200;
//自动装箱 int->Integer
Integer interger = n2;//底层使用的是 Integer.valueOf(n2)
//自动拆箱 Integer->int 
int n3 = integer;//底层仍然使用的是 intValue()方法
  • 包装类 (Integer)->String
Integer i = 100;//自动装箱
//方式1
String str1 = i + "";
//方式2
String str2 = i.toString();
//方式3
String str3 = String.valueOf(i);
  • String -> 包装类 (Integer)
String str4 = "12345";
Integer i2 = Integer.parseInt(str4);//使用自动装箱
Integer i3 = new Integer(str4);//构造器
23.3.案例研究:
Object obj = true? new Integer(1) : new Double(2.0);
System.out.println(obj);

输出为 1.0
三元运算符是一个整体,所以精度提升到double类型

Integer i = new Integer(1);
Integer j = new Integer(2);
System.out.println(i == j);

输出为 false
都 new 了一个新的空间

Integer m = 1;
Integer n = 1;
System.out.println(m == n);
Integer x = 128;
Integer y = 128;
System.out.println(x == y);

输出为 true false
根据源码知道 Integer 设定的范围为 -128~127,在这个范围内直接返回,否则就要 new Integer(xx)
在这里插入图片描述

Integer m = 127;
int n = 127;
System.out.println(m == n);

Integer i = 128;
int j = 128;
System.out.println(i == j);

输出为 true true
只要有基本数据类型,判断的就是值是否相等

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值