Skip to content

1. Integer 类的概述和使用(包装类)

Integer类包装一个对象中的原始类型int的值。类型为Integer的对象包含一个单一字段,其类型为int

此外,该类还提供了一些将int转换为StringString转换为int ,以及在处理int时有用的其他常量和方法。

方法名说明
public Integer( int value )根据 int 值创建 Integer 对象(过时)
public Integer( String s )根据 String 值创建 Integer 对象(过时)
public static Integer valueOf( int i )返回表示指定的 int 值的 Integer 实例
public static Integer valueOf( String s )返回一个保存指定值的 Integer 对象 String
java
        Integer i1 = Integer.valueOf(100);// int 类型
        System.out.println(i1);  //输出结果为 100

        Integer i2 = Integer.valueOf(100); // String 类型
        System.out.println(i2);  //输出结果为 100

        Integer i3 = Integer.valueOf("abc");
        System.out.println(i3); //.NumberFormatException  报错

2. int 和 String 的相互转换

基本类型包装类的最常见的操作:用于基本类型和字符串之间的相互转换

1. int 转换为 String

public static String valueOf( int i ):返回 int 参数的字符串表示形式。该方法是 String 类中的方法

2. String 转换为 int

public static int parseInt( String s ):将字符串解析为 int 类型。该方法是 Integer 类中的方法

java
        //int--------->String
        int num=100;
        //方法一
        String s=String.valueOf(num);
        System.out.println(s);   //输出结果为  100
        //方法二
        String st=""+num;
        System.out.println(st);   //输出结果为  100
        System.out.println("--------------------------");

        //String------------->int
        String s1="100";
        //方法一
        int i1= Integer.parseInt(s1);
        System.out.println(i1);   //输出结果为  100
        //方法二
        Integer i2= Integer.valueOf(s1);
        int i3=Integer.valueOf(i2);
        System.out.println(i3);   //输出结果为  100
3.字符串中数据的排序

字符串为:"9 2 4 3 5",将这个字符串排序(用 public String[] split( String regex ) 方法得到字符串中每一个数字)

java
       String s="9 2 4 3 5";

        //把字符串转换成字符数组
        String arr[]=s.split(" ");//用此方法,字符串是空格所以regex:" "

        //把String arr[]------------->int array[]
        int array[]=new int[arr.length];
        for(int i=0;i<array.length;i++){
            array[i]=Integer.parseInt(arr[i]);
        }

        //排序
        Arrays.sort(array);

        //拼接数组
        StringBuilder sb=new StringBuilder();
        for (int m=0;m<array.length;m++){
            if(m==array.length-1){
                sb.append(array[m]);
            }else {
                sb.append(array[m]).append(" ");
            }
        }
        String str= sb.toString();
        System.out.println(str);  //输出结果为 2 3 4 5 9

3.自动装箱和拆箱

java
        Integer i=100;  //自动装箱
        i+=200;  //i+200 自动拆箱  i=i+200 是自动装箱
        System.out.println(i);   //输出结果为 300

        Integer ii=null;
        ii+=200;
        System.out.println(ii);  // .NullPointerException   报错
        
        //优化代码
        Integer iii=null;
        if (iii!=null){
            iii+=200;
        }else {
            return ;
        }
        System.out.println(iii);   //输出结果为 空