包装类

基本类型包装类

  • 基本类型包装类的作用
    将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
    常用的操作之一:用于基本数据类型与字符串之间的转换
  • 基本类型对应的包装类
    | 基本数据类型 | 包装类 | | —- | —- | | byte | Byte | | short | Short | | int | Integer | | long | Long | | float | Float | | double | Double | | char | Character | | boolean | Boolean |

Integer类

  • Integer类概述
    包装一个对象中的原始类型 int 的值
  • Integer类构造方法
    | 方法名 | 说明 | | —- | —- | | 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 |

  • 示例代码

    1. public class IntegerDemo {
    2. public static void main(String[] args) {
    3. //public Integer(int value):根据 int 值创建 Integer 对象(过时)
    4. Integer i1 = new Integer(100);
    5. System.out.println(i1);
    6. //public Integer(String s):根据 String 值创建 Integer 对象(过时)
    7. Integer i2 = new Integer("100");
    8. // Integer i2 = new Integer("abc"); //NumberFormatException
    9. System.out.println(i2);
    10. System.out.println("--------");
    11. //public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
    12. Integer i3 = Integer.valueOf(100);
    13. System.out.println(i3);
    14. //public static Integer valueOf(String s):返回一个保存指定值的Integer对象 String
    15. Integer i4 = Integer.valueOf("100");
    16. System.out.println(i4);
    17. }
    18. }

自动拆箱和自动装箱

  • 自动装箱
    把基本数据类型转换为对应的包装类类型
  • 自动拆箱
    把包装类类型转换为对应的基本数据类型
  • 示例代码
    Integer i = 100;  // 自动装箱
    i += 200;         // i = i + 200;  i + 200 自动拆箱;i = i + 200; 是自动装箱
    

int和String类型的相互转换

  • int转换为String

    • 转换方式
      • 方式一:直接在数字后加一个空字符串
      • 方式二:通过String类静态方法valueOf()
    • 示例代码
      public class IntegerDemo {
      public static void main(String[] args) {
        //int --- String
        int number = 100;
        //方式1
        String s1 = number + "";
        System.out.println(s1);
        //方式2
        //public static String valueOf(int i)
        String s2 = String.valueOf(number);
        System.out.println(s2);
        System.out.println("--------");
      }
      }
      
  • String转换为int

    • 转换方式
      • 方式一:先将字符串数字转成Integer,再调用valueOf()方法
      • 方式二:通过Integer静态方法parseInt()进行转换
    • 示例代码
      public class IntegerDemo {
      public static void main(String[] args) {
        //String --- int
        String s = "100";
        //方式1:String --- Integer --- int
        Integer i = Integer.valueOf(s);
        //public int intValue()
        int x = i.intValue();
        System.out.println(x);
        //方式2
        //public static int parseInt(String s)
        int y = Integer.parseInt(s);
        System.out.println(y);
      }
      }
      

字符串数据排序案例

  • 案例需求
    有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:27 38 46 50 91
  • 代码实现

    public class IntegerTest {
     public static void main(String[] args) {
         //定义一个字符串
         String s = "91 27 46 38 50";
    
         //把字符串中的数字数据存储到一个int类型的数组中
         String[] strArray = s.split(" ");
    //        for(int i=0; i<strArray.length; i++) {
    //            System.out.println(strArray[i]);
    //        }
    
         //定义一个int数组,把 String[] 数组中的每一个元素存储到 int 数组中
         int[] arr = new int[strArray.length];
         for(int i=0; i<arr.length; i++) {
             arr[i] = Integer.parseInt(strArray[i]);
         }
    
         //对 int 数组进行排序
         Arrays.sort(arr);
    
           for(int i=0; i<arr.length; i++){
          System.out.print(arr[i] + " ");
           }
    }