java int = new int_java – 使用new(Integer)与int

时间:2025-03-10 17:07:27

基本上,像Vector,ArrayList,HashMap等Java集合类不采用原始类型,如int.

在过去的日子里(Java 5之前),你不能这样做:

List myList = new ArrayList();

(10);

你必须这样做:

List myList = new ArrayList();

(new Integer(10));

这是因为10本身就是一个int. Integer是一个包装int原语的类,并且创建一个新的Integer()意味着你实际上正在创建一个Integer类型的对象.在自动装箱出现之前,你不能像在这里那样混合Integer和int.

所以外卖是:

(10)和(new Integer(10))将导致将Integer添加到integerBox,但这只是因为(10)透明地为您创建了Integer.两种方式可能不一定以相同的方式创建Integer,因为一个用新的Integer显式创建,而autoboxing将使用().我假设教程使integerBox成为某种类型的集合(它接受对象,而不是基元).

但从这个角度来看:

int myInt = 10;

Integer myInteger = new Integer(10);

一个是原始的,另一个是Integer类型的对象.

相关文章