Java的包装类

目录


1.包装类是什么?

包装类就是各个基本数据类型所一一对应的引用数据类型,就是变成一个对象了.

2.包装类的意义是啥?

java是面向对象的语言,万物皆可对象,一些方法的形参只能使用引用数据类型的数据,如:

    public void method(Object obj){
        System.out.println(obj);
    }

此时,我手中如果有一个 int number = 10;的数据就不能作为形参写入method中,但是如果我们从一开始就把number定义为integer类型的数据,那么method方法则可以直接将其作为参数

    public static void main(String[] args) {
        Integer number = 5;
        Demo04 d = new Demo04();
        d.method(number);
    }
    
    public void method(Object obj){
        System.out.println(obj);
    }

而且集合是无法存入基本数据类型的数据的,只能存对象

但是我们可以存入integer类型的数据,如:

控制台结果

3.基本数据类型所对应的包装类

 4.一些细节

在实际开发中,-128~127之间的数据用的比较多,如果每次都new对象的话,会造成内存资源的浪费,

所以java底层就把-128~127之间的数据为我们创建好了,如果用到了就不会去创建新的,而是返回已经创建好了的对象

    public static void main(String[] args) {

        //使用java提前创建好的范围
        Integer i1 = Integer.valueOf(127);
        Integer i2 = Integer.valueOf(127);
        System.out.println(i1 == i2);//true

        Integer i3 = Integer.valueOf(128);
        Integer i4 = Integer.valueOf(128);
        System.out.println(i3 == i4);//false
        
        //不使用Java提供的范围对象,自己创建
        Integer i5 = new Integer(127);
        Integer i6 = new Integer(127);
        System.out.println(i5 == i6);//false

    }

5.自动装箱和自动拆箱

自动装箱:把基本数据类型自动的变成其所对应的包装类

自动拆箱:把包装类自动的变成其所对应的基本数据类型

 原理:在底层会自动的调用静态方法valueOf()得到一个Integer对象,只不过这写操作java帮我们完成了,不用我们亲自动手操作了

在JDK5出现后(自动装箱,自动拆箱),包装类的计算中,int和integer就可以看做是同一个东西,因为其内部是可以自动转化的

    public static void main(String[] args) {
        Integer i1 = 10;
        int i2 = 20;
        Integer i3 = i1 + i2;
        System.out.println(i3);//30
    }

6.包装类的字符串的转换

基本数据类型转String: 
String.valueOf(基本数据值)

String转基本数据类型:  
包装类.parseXxx(字符串值)
注意:没有parseChar!

举例:

public static int parseInt(String s)

将字符串类型的整数转变成int类型的整数

        int i = Integer.parseInt("100");
        System.out.println(i);//100

注意:

在类型转换的时候,括号中的参数只能是数字不能是其他,否则代码会报错!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值