Java什么是自动装箱?

自动装箱是Java SDK的Tiger(1.5)版本中提供的一项新功能。总之自动装箱是转换能力或转换对象包装(之间Integer,Long等等)和他们的基本类型。

以前,当将原始数据放入Java Collection Framework对象之一时,我们必须将其包装到一个对象,因为该集合无法使用原始数据。同样,当调用需要对象实例而不是intor实例的方法时long,我们也必须对其进行转换。

但是现在,从Java 1.5版本开始,我们在Java语言中有了一项新功能,该功能可以自动执行此过程,称为自动装箱。当我们将int值放入集合中时,例如List,它将被转换为Integer幕后对象。当我们读回它时,它将自动转换为原始类型。在大多数情况下,这简化了我们的编码方式,无需进行显式的对象转换。

以下是使用自动装箱功能的示例:

package org.nhooo.example.basic;

import java.util.HashMap;
import java.util.Map;

public class Autoboxing {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();

        // 在这里,我们将一个int放入Map中,它接受了
        // 因为它将被自动装箱或转换为包装器
        // 这种类型,在这种情况下为Integer对象。
        map.put("Age", 25);

        // 在这里,我们可以从映射上获取值,无需
        // 将其从Integer转换为int。
        int age = map.get("Age");

        // 在这里,我们只是对原始类型进行数学运算
        // 并将结果作为整数。
        Integer newAge = age + 10;
    }
}