Java中的自动装箱和拆箱

自动装箱

自动装箱是指将基本类型变量自动转换为其对应的包装器类对象。当原始值是-时,编译器会自动处理转换-

  • 作为参数传递给需要包装类对象的函数。

  • 分配给包装类类型的变量。

请看以下示例。

示例

import java.util.ArrayList;

import java.util.List;

public class Tester {

   public static void main(String[] args) {

      List<Integer> list = new ArrayList<>();

      for(int i = 0; i< 10; i++){

         //通过传递作为参数的自动装箱

         //将int值转换为Integer-

         //由编译器在编译过程中

         list.add(i);

      }

      System.out.println(list);

      char c = 'a';          

      //通过将char分配给Character对象来自动装箱

      Character ch = c;

      System.out.println(ch);

   }

}

输出结果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

a

拆箱

取消装箱与自动装箱相反,它指的是将包装对象自动转换为其对应的原始变量。当包装对象为-时,编译器会自动处理转换-

  • 作为参数传递给需要原始数据类型变量的函数。

  • 分配给原始数据类型变量类型的变量。

请看以下示例。

示例

public class Tester {

   public static void main(String[] args) {

      Integer integer = new Integer(-10);

      //通过传递作为参数的自动装箱

      //整数对象转换为int-

      //由编译器在编译过程中

      int i = abs(integer);        

      System.out.println(i);

      //通过将Integer对象分配给int变量来进行自动装箱

      int j = integer;        

      System.out.println(j);

   }

 

   private static int abs(int i){

      return (i < 0)? -i: i;

   }

}

输出结果

10

-10

以上是 Java中的自动装箱和拆箱 的全部内容, 来源链接: utcz.com/z/338145.html

回到顶部