Java基础之包装类

Why

基本数据类型没有属性和方法的调用,对象的交互,因此包装类出现,解决这些异类产生的问题。
基本数据类型无属性,方法,无法对象化交互
包装类:拥有属性,方法,可以对象化交互
在这里插入图片描述

What

Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。
在这里插入图片描述
在这里插入图片描述
默认值
在这里插入图片描述
包装类的默认值为null;

类型转换

包装类和基本数据类型的转换
装箱:基本–包装
拆箱:包装–基本
都有自动和手动两种方式

手动:

    int n=5;
    Integer n1=new Integer(n);
    System.out.println("int类型转换为integer类:"+n1);
    
    Integer i=new Integer(50);
    int i1 = i.intValue();
    System.out.println("integer类转换为int类型:"+i1);

自动:
装箱就是 Java 将基本类型转换成对应的包装类型,比如将 int 转换成 Integer 对象。反之将 Integer 转换成 int 值,则称为拆箱。
装箱时,调用 valueOf 方法实现,比如 Integer.valueOf(100);
拆箱时,调用对应的 xxxValue 方法,比如 intValue() 方法。
自动装箱拆箱功能是 java1.5 后才有的。自动装箱拆箱时,由 Java 编译器自动实现转换。
赋值操作的时候,当两边类型不同,就会发生自动装箱拆箱。

自动装箱:
比如:Integer i = 100;
相当于编译器自动作以下的语法编译:

Integer i = Integer.valueOf(100);
ArrayList intList = new ArrayList();
intList.add(1); //自动装箱

自动拆箱:

Integer i = 10; //装箱
int t = i; //拆箱,实际上执行了 int t = i.intValue();
System.out.println(i++);//拆箱
包装类相加时,也会自动拆箱。

Integer a=new Integer(1);
Integer b=new Integer(2);
System.out.println(a+b);//自动拆箱
小结

小编只是在这抛砖引玉下,关于包装类优秀的文章还有很多,详情请查看:
【常用类】包装类:https://blog.csdn.net/qq_29119581/article/details/78327759
Java 为什么需要包装类,如何使用包装类?https://cloud.tencent.com/developer/article/1362754

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一个处女座的程序媛

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值