java包装类(Integer)

1 定义      

  java提供了两个类型系统,基本类型和引用类型,使用基本类型在于效率,然而很多情况下会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下: 

java包装类(Integer)_第1张图片

 java包装类(Integer)_第2张图片

2 装箱与拆箱

2.1 装箱

        把基本类型的数据,包装到包装类中(基本类型的数据-->包装类) 

构造方法:
        Integer(int value):构造一个新分配的Integer对象,他表示指定的int值

        Integer(String s):构造一个新分配的Integer对象,他表示String参数所指示的int值

                传递的字符串,必须是基本类型的字符串,否则会抛出异常:“100”正确,“a”抛异常

静态方法:

        static Integer valueOf(int i):返回一个表示指定的int值的Integer实例

        static Integer valueOf(String s):返回保存指定的String的值的Integer对象

public class DemoInteger {
    public static void main(String[] args) {
        //构造方法
        //Integer in1=new Integer(1);//“integer(int)”已弃用,并标记为要删除
//        System.out.println(in1);

//        Integer in2 =new Integer("1");
//        System.out.println(in2);

        //静态方法
        Integer in3=Integer.valueOf(1);
        System.out.println(in3);
//        Integer in5=Integer.valueOf("a");//NumberFormatException数字格式化异常,不能把字母转化为整数
        Integer in4=Integer.valueOf("1");
        System.out.println(in4);
    }
}

输出:

         

2.2 拆箱

        在包装类中取出基本类型的数据(包装类-->基本类型的值)

成员方法:

        int intValue():以int类型返回该Integer的值

public class DemoInteger {
    public static void main(String[] args) {
        //拆箱
        int i=in3.intValue();
        System.out.println(i);
    }
}

输出:

        

2.3 自动装箱与自动拆箱

        基本类型的数据和包装类之间可以自动的相互转换(JDK1.5之后出现的新特性 )

import java.util.ArrayList;

public class DemoInteger2 {
    public static void main(String[] args) {
        //自动装箱:直接把int类型的整数赋值给包装类
        //Integer in=1;相当于Integer in=new Integer(1);
        Integer in=1;

        //自动拆箱
        /**
         * in+2就相当于in.inValue()+2=3
         * in=in.intValue()+2=3又是一个自动装箱
         */
        in =in+2;
        System.out.println(in);

        ArrayList list=new ArrayList<>();
        /**
         * ArrayList集合无法直接存储整数,可以存储Integer包装类
         *
         */
        list.add(1);//自动装箱list.add(new Integer(1));

        int a=list.get(0);//自动拆箱 list.get(0).inValue();
    }
}

2.4 基本类型与字符串类型的相互转化

基本类型-->字符串(String)

        1.基本类型的值+" ":最简单的方法(工作中常用)

        2.包装类的静态方法toString(参数),不是Object类的toString方法【重载】

                static String toString(int i):返回一个表示制定整数的String对象

        3.String类的静态方法valueOf(参数)

                static String valueOf(int i):返回int参数的字符串表示形式

字符串(String)-->基本类型

        使用包装类的静态方法parseXXX("字符串");

                Integer类:static int parseInt(String s)

                Double类:static double parseDouble(String s)

public class DemoInteger3 {
    public static void main(String[] args) {
        //基本类型-->字符串(String)
        int i1=100;
        String s1=i1+"";
        System.out.println(s1+200);

        String s2=Integer.toString(100);
        System.out.println(s2+200);

        String s3=String.valueOf(100.23);
        System.out.println(s3+200);

        //字符串(String)-->基本类型
        int i=Integer.parseInt(s1);
        System.out.println(i+200);

        double j=Double.parseDouble(s3);
        System.out.println(j+200);

//        int a=Integer.valueOf("a");//NumberFormatException错误
//        System.out.println(a);
    }
}

  输出:

        java包装类(Integer)_第3张图片

你可能感兴趣的:(JavaSE,java,开发语言,后端)