Java 为什么';Integer类是否需要创建一个实例?

Java 为什么';Integer类是否需要创建一个实例?,java,integer,autoboxing,Java,Integer,Autoboxing,我想知道你为什么能这么做 Integer name = 1245; 不需要像这样创建一个实例 Integer name = new Integer(1245); 是否可以创建一个不需要创建实例的类?如果你能创建一个这样的类,你会怎么做?我在找像这样的东西 AsDigits digits = 1245; 而不是不得不这样做 AsDigits digits = new AsDigits(1245); 这是由于自动装箱。从 自动装箱是Java编译器在原语类型与其对应的对象包装器类之间进行的自动

我想知道你为什么能这么做

Integer name = 1245;
不需要像这样创建一个实例

Integer name = new Integer(1245);
是否可以创建一个不需要创建实例的类?如果你能创建一个这样的类,你会怎么做?我在找像这样的东西

AsDigits digits = 1245;
而不是不得不这样做

AsDigits digits = new AsDigits(1245);

这是由于
自动装箱
。从

自动装箱是Java编译器在原语类型与其对应的对象包装器类之间进行的自动转换。例如,将int转换为整数,将double转换为double,等等。如果转换方向相反,则称为取消装箱


此外,对于用户定义的类型,
自动装箱
。您可以检查这个

。不可以。您不能为用户定义的类型添加自动装箱。明白了。非常感谢。这无疑让我走上了正确的道路。使用Java10,您可以编写var digits=newasdigits(1245),这不会太冗长。