为什么Integer类不需要创建实例?

时间:2018-03-30 22:52:39

标签: java integer autoboxing

我正在试图找出你能做的原因

Integer name = 1245;

并且不需要像这样创建的实例

Integer name = new Integer(1245);

是否可以创建一个不需要创建实例的类?如果你能创建这样的课程,你会怎么做?我正在寻找像

这样的东西
AsDigits digits = 1245;

而不是必须

AsDigits digits = new AsDigits(1245);

1 个答案:

答案 0 :(得分:2)

这是由于Autoboxing。来自doc

  

Autoboxing是Java编译器在基元类型和相应的对象包装类之间进行的自动转换。例如,将int转换为Integer,将double转换为Double,依此类推。如果转换采用另一种方式,则称为拆箱。

此外,无法为用户定义的类型执行Autoboxing。您可以查看此answer