Java学习总结 ---------- 包装类

什么是包装类

定义:将基本数据类型封装到类中,即形成包装类。

包装类的作用

包装类的功能主要是将基本数据类型转化为引用数据类型,以便于操作。

  • 使基本数据类型也可以被Object类接收。
  • 基本数据类型也可以存放在集合中。
  • 包装类中包含每种基本数据类型的相关属性如最大值,最小值等,以及一些操作方法。

基本数据类型与之对应的包装类

在这里插入图片描述
除了char和int的包装类需要单独记忆之外,其它的包装类名称都是将基本数据类型的第一个字母大写形成的。

装箱与拆箱

  • 装箱:将基本数据类型变为与之对应的包装类对象。利用构造方法实习装箱处理。
  • 将包装类对象变为与之对应的基本数据类型,利用…Value方法。
    举例:
public class Test {
    public static void main(String[] args) {
        Integer i = new Integer(10);  //手动装箱
        int data = i.intValue();      //手动拆箱
        System.out.println(data);
    }

在JDK5.0之后,提供了自动拆装箱的机制,因此可以直接利用包装类对象直接进行运算。

自动拆装箱

举例:

public class Test {
    public static void main(String[] args) {
        Integer i = 10;   //自动装箱
        System.out.print(++i);  //自动拆箱
    }
包装类对象的“==”问题
public class Test {
        public static void main(String[] args) {
           Integer i = new Integer(10);
           Integer j = new Integer(10);
            System.out.println(i.equals(j));
            System.out.println(i == j);
        }

输出结果:
在这里插入图片描述
解析:equals方法比较的是堆内存的内容,==比较的是堆内存的地址.仅此而已。
在这里插入图片描述

public class Test {
        public static void main(String[] args) {

           Integer i = 10;
           Integer j = 10;
           System.out.println(i == j);
           Integer m = 200;
           Integer n = 200;
            System.out.println(m == n);

        }

运行结果:
在这里插入图片描述
解析:对于自动装箱,形如Integer i = ? ,在-128到127的范围内赋值,底层会维护一个常量池,如常量池中有此对象则会复用,不再创建,但出了这个范围则不会复用。
在这里插入图片描述
包装类对象与基本类型的比较

public class Test {
        public static void main(String[] args) {
            int i = 200;
            Integer j = 200;
            Integer k = new Integer(200);
            System.out.println(i == j);
            System.out.println(i == k);

        }

运行结果:
在这里插入图片描述
在混用包装类对象与基本数据类型时,包装类对象会首先进行拆箱,然后在进行使用。

字符串与基本数据类型的转换

在开发中,接受用户输入的信息一般都是字符串类型,因此必须考虑如何将字符串类型转换为对应的基本数据类型。
待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值