234/235包装类装箱与拆箱和自动拆箱自动装箱

包装类-装箱

基本类型与对应的包装类对象之间,来回转换的过程称为"装箱“与"拆箱”:

装箱:从基本类型转换为对应的包装类对象。

拆箱:从包装类对象转换为对应的基本类型。

装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
构造方法;
    Integer(int value)构造一个新分配的Integer对象,它表示指定的 int值。
    Integer(String s)构造一个新分配的Integer对象,它表示String参数所指示的 int值。
    传递的字符串,必须是基本类型的字符串,否则会抛出异常“100”正确“a”抛异常
静态方法:
    static Integer value0f(int i)返回一个表示指定的int 值的 Integer 实例。
    static Integer value0f(String s)返回保存指定的 string 的值的Integer对象。
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
成员方法:
    int intValue()以int类型返回该Integer的值。

复制代码
 
    public static void main(String[] args) {

        //装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
        // 构造方法
        Integer in1 = new Integer( 1);//方法上有横线,说明方法过时了system.out.println(in1);//1重写了tostring方法
        Integer in2 = new Integer("1");
        System.out.println(in2);
        //静态方法
        Integer in3 = Integer.valueOf(1);
        System.out.println(in3 ) ;
        //Integer in4 = Integer.value0f("a" ) ;//NumberFormatException数字格式化异常
        Integer in4 = Integer.valueOf("1");
        System.out.println(in4) ;

        //拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
        int i = in1.intValue();
        System.out.println(i);
    }
 
复制代码
复制代码
 
 //装箱是指:将基本类型数据直接赋值给包装类;其中编译器会自动将其数值直接转化为包装类;
                Integer n3=100;
                //Integer n3=Integer.valueOf("100");

                //拆箱是指:将一个包装类直接赋值给基本的数据类型;
                Integer n4=200;
                int n5=n4;
                //int n5=n4.intValue();
 
复制代码
复制代码
 
//装箱 int->Integer
int n1 = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
//拆箱
int i = integer.intValue();
 
复制代码

 

包装类-自动装箱与自动拆箱

自动装箱与自动拆箱:
基本类型的数据和包装类之间可以自动的相互转换了DK1.5之后出现的新特性

复制代码
 
 //自动装箱:直接把int类型的整娄赋值给包装类
        //Integer in = 1;就相当于Integer in = new Integer(1);
        Integer in = 1;
/*
        自动拆箱:in是包装类,无法直接参与运算,可以自动转换为基本类型的数据,再参与计算in + 2;就相当于in.intvalue( ) + 3 = 3;
        in = in + 2;就相当于in = new Integer(3)自动装箱*/
        in = in + 2;
        System.out.println(in);
        // ArrayList集合无法直接存储整数,可以存储Integer包装类
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);//自动装箱List.add( new Integer(1));

 
复制代码
复制代码
 
 //自动装箱:int-->Integer
            Integer i1=12;
            System.out.println(i1);
            //自动拆箱:Integer-->int
            Integer i2=new Integer(12);
            int num=i2;
            System.out.println(num);
 
复制代码

自动装箱

 

 自动拆箱

 

 

 

posted @   ja不会va  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示