Java 包装类

包装类及Number类

- 包装类

  • Java中当需要使用数字的时候,我们通常使用内置数据类型(基本数据类型),但是Java是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。为了解决这个问题,Java为每一个内置数据类型提供了对应的包装类

在这里插入图片描述
- 装箱

  • 有了基本数据类型和包装类,就需要将他们互相进行转换。比如把一个基本数据类型的 int 转换成一个包装类型的 Integer
    对象。而包装类是基本类型包装后的结果,基本数据类型转换成包装类的过程就是装箱。把包装类转换成基本数据类型的过程就是拆箱。

  • 在Java 5 之前,通过以下代码进行装箱:

    //装箱
    Integer i = new Integer(10);
    

- 自动拆箱与自动装箱

  • Java 5 以后,提供了自动拆箱与自动装箱功能。

     自动装箱: 就是将基本数据类型自动转换成对应的包装类。
    
    
     自动拆箱:就是将包装类自动转换成对应的基本数据类型。
    
     Integer x = 100;	//自动装箱
     int y = x;			//自动拆箱
     //Integer i=100 替代了 Integer i = new Integer(10);
     //自动装箱直接将基本数据类型转换成包装类,这里省略了手动去new一个Integer对象的过程。
    

- 自动装箱与自动拆箱的实现原理

  • 例如: int 的自动装箱通过 Integer.valueOf() 方法实现,Integer 的自动拆箱通过 integer.intValue 实现。
  • 结论:自动装箱都是通过包装类的valueOf()方法来实现的.自动拆箱都是通过包装类对象的xxxValue()来实现的。

- 自动拆装箱应用场景

  • 1、将基本数据类型放入集合类

    package com.baidu.www;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by joker on 2021/12/8.
     */
    public class baoZhuangLei {
        public static void main(String[] args) {
            List<Integer> s = new ArrayList<>();
            for (int i = 0; i < 100; i++) {
                s.add(i); //自动装箱
            }
        }
    }
    
    
  • 2、包装类型和基本类型的比大小

  • 3、包装类型的运算

     两个包装类型之间运算,首先分别自动拆箱成基本类型,然后再使用基本类型进行计算,运算结果是基本数据类型。
    
  • 4、使用自动拆装箱要注意:

     包装对象的数值比较,-128到127之间的数字可以使用 == ,这个范围之外需要使用 equals 。
     
     由于自动拆箱,如果包装类对象为null,那么自动拆箱时有可能抛出异常。
     
     如果一个for循环中有大量拆装箱操作,会浪费很多资源。
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值