Java教程

Java包装类

本文主要是介绍Java包装类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

包装类

 Java中的基本数据类型对应的包装类使其对象化,具有属性和方法。

 包装类与基本数据类型

 

    Boolean和Character的父类是Object,其他包装类的父类是Number

存储方式:包装类型对象实例化,借由new在堆空间里进行空间分配,对应栈空间中存储地址引用;
     基本数据类型变量对应栈空间中存储的是具体数据值。
     通常,包装类的效率会比基本数据类型的效率低,空间占用大。
     
初始值:基本数据类型有各自默认初始值,包装类的对象未初始化时,初始值均为null

装箱与拆箱

 装箱:基本数据类型 转换为 包装类

 拆箱:包装类 转换为 基本数据类型

自动与手动拆装箱

手动装箱:可以结合类型的构造方法或者valueOf()方法实现
手动拆箱:可以通过xxxValue()方法实现
自动装箱:把一个基本类型变量直接赋给对应的包装类型变量。
自动拆箱:把包装类对象直接赋给对应的基本数据类型变量

 

public static void main(String[] args){
        //手动装箱
        int one=12;
        //方式1:构造方法传参
        Integer t1=new Integer(one);
        //方式2:类型.valueOf方法
        Integer t2=Integer.valueOf(one);

        //手动拆箱
        //对象.xxxValue()方法
        int two=t1.intValue();
    }
public static void main(String[] args){
        //自动装箱
        int one=12;

        Integer t1=one;
        //自动拆箱
        int two=t1;
    }

包装类的比较

public static void main(String[] args) {
        Integer one= new Integer(100);
        Integer two = new Integer(100);
        System.out.println("one==two的结果:"+(one==two));

        Integer three=100;//自动装箱
        System.out.println("three==100的结果:"+(three==100));//自动拆箱

        Integer four=100;
        System.out.println("three==four的结果:"+(three==four));

        Integer five=200;
        System.out.println("five==200的结果:"+(five==200));

        Integer six=200;
        System.out.println("five==six的结果:"+(five==six));
    }

  Integer i=Integer.valueOf(100);Java在执行此方法时,会提供一个缓存区,如果-128<参数<127,会从缓存区中查找是否存在同样的对象,如果有则会直接产生,如果没有才会实例化Integer

  除Float和Double不能应用对象常量池概念,其他包装类都可以

这篇关于Java包装类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!