JAVA基础|常用API-包装类

一. 说明

包装类就是把基本类型的数据包装成对象。

二. 包装类表

基本数据类型对应的包装类(引用数据类型)
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

三. 手动转化包装类

接下来,我们以Integer为例,来尝试将基本数据类型转换为一个对象。

在过去,我们通过以下的方式来创建对象:

Integer a1 = new Integer(12);

但是这种方法已经“过时”了,不推荐再使用,如今我们通常采用下面的方法来创建对象:

Integer a2 = Integer.valueOf(12);

四.自动转化包装类

在实际开发中,为了方便我们将基本数据类型转换为对象,JAVA提供了十分方便的方法。

1. 自动装箱

Integer a3 = 12;

2. 自动拆箱

int a4 = a3;

通过自动拆箱,可以将对象a3自动转化为int基本类型的a4变量。

五. 包装类的用途

那么,包装类有什么作用呢?

JAVA中,泛型和集合不支持基本数据类型,只能支持引用数据类型。

例如在下面的ArrayList集合中,我们想仅允许向集合中添加int类型的变量,当我们在这里写上int,会发现并不支持,这个时候我们就需要用到包装类了。

如下图,我们将int改为Integer即可。

然后我们再往ArrayList中添加内容,就会发现可以直接添加数据,不需要将数据转化为对象再添加,这里就是刚刚前文所提到的自动装箱。

同样,在后面的int rs中,我们也没有将Interger对象转化为基本数据,而是java通过自动拆箱帮我们直接转化为了基本数据。

六. 包装类其他常见操作

1. 可以把基本类型的数据转换成字符串类型。

public class Test1 {
    public static void main(String[] args) {
        Integer a = 23;
        String rs1 = Integer.toString(a);
        System.out.println(rs1 + 1);
    }
}

在上面的代码中,我们将Integer类型的a转化为了字符串rs1,将rs1+1打印出来会发现,打印出来的是231,而不是24,即将Integer成功转换为了字符串

同样,由于Integer肯定是继承了Object类的,这时我们也可以直接调用Object类的toString方法来将它转化为字符串。

String rs2 = a.toString();

其实,我们还有另一种方法将它转换为String类型的变量:

String rs3 = a + " ";

直接给a后面加个" "就可以了。

2. 可以把字符串类型的数值转换成数值本身对应的数据类型。

String ageStr = "29";
int ageI = Integer.parseInt(ageStr);
System.out.println(ageI + 1);

通过调用Integer的parseInt方法,就可以将Integer转换为其本身对应的数据类型。在这里打印出来的数字就是30了,而不是291。

其余的数据类型也是一样的,例如double类型的:

String scoreStr = "99.5";
double score = Double.parseDouble(scoreStr);
System.out.println(score + 0.5);

也是一样,调用parseDouble即可。

但在实际开发中,并不建议通过这种方法来转换,JAVA提供了一种更方便的方法:valueOf()

String ageStr = "29";
int ageI = Integer.valueOf(ageStr);
System.out.println(ageI + 1);
String scoreStr = "99.5";
double score = Double.valueOf(scoreStr);
System.out.println(score + 0.5);

这样,我们就不需要还去记parseDouble,parseInt等等不同名字了。

更重要的一点需要注意,这里的转换只支持数值!比如你要是给ageStr赋值一个123a啥玩意的非数值内容,肯定是不行的,就会报错了。同样,如果ageStr是29.85,你就不能用Integer来转换,要用Double来转换,否则也会出问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值