java中的包装类是一个原始数据类型为成员的类吗?

我想知道Integer类是如何工作的: 考虑
Integer number=2;
这是否意味着,“Integer”类有一个如下所述的构造函数,它将int值存储在其中?请解释。
class Integer
{
    int a;

    public Integer (int a)
    {
        this.a=a;
    }
}
    
已邀请:
很接近了。查看Integer的源代码(显然来自Harmony,因此Sun / Oracle JVM可能会有所不同)。自动装箱转换(当您将基元分配给包装类时)使用等价的valueOf,它会缓存“常用”整数并为其余整数创建新的整数。     
javac
生成调用
Integer.valueOf(int)
的代码,可能会也可能不会构建新的
Integer
或只是重用现有的代码。在JLS中,“拳击转换”涵盖了这一点。     
这意味着自动拳击到位。     
您可以在此处找到最新的OpenJDK Integer类: 相关领域(来自第645行):
/**
 * The value of the {@code Integer}.
 *
 * @serial
 */
private final int value;
    

要回复问题请先登录注册