Java-包装类

1、包装类理解

有了int、double这些,为什么还要有相对应的包装类呢?
因为int、double不是类,不能够通过实例化对象来调用方法,将其包装成Integer、Double可以使用相应的方法,可以有继承、有多态,符合面向对象的思想。

2、基本数据类型、包装类、String之间转换

基本数据类型—>包装类:

Integer in1 = new Integer(12);
Integer in2 = new Integer(“12”);
Float f1 = new Float(12.3f);
Float f2 = new Float(“12.3”);

注意:

Boolean b1 = new Boolean(true):
Boolean b2 = new Boolean(“true”);
// 下面是返回false
Boolean b3 = new Boolean(“true123”);

包装类–>基本数据类型:

in1.intValue(); // 返回值就是int型
f1.floatValue(); // 返回是float

自动装箱和自动拆箱:不需要显示转换

基本数据类型、包装类–>String:

方式1:连接运算
例:int num = 1;
String str = 1 + “”;
方式2:String.valueOf(xxx),基本数据类型和包装类都可以作为参数传入。

String–>基本数据类型、包装类:

需要调用包装类中的方法
例:
String str = “123”;
Integer.parseInt(str);

坑题:

Integer m = 1;
Integer n = 1;
判断m == n,
m == n是true,wtf?“==”不是比较地址的吗?
因为在Integer对于-128~127实现了cache数组,如果是在这个范围的数字,直接从cache进行提取,也就是比较时都是同一个对象。
如果m和n都等于128,那么就需要重新new两个对象,它们地址也不相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JHL123123

赞赏随心,支持为大。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值