为什么List可以删除未实例化的新对象

Vis*_*ang 1 java collections

List<Integer> useCases = new ArrayList<Integer>();
Collections.addAll(useCases, 47, 48, 49, 50);
useCases.remove(new Integer(47));
Run Code Online (Sandbox Code Playgroud)

为什么新实例的整数对象可以与useCase中的int值47匹配?

如果实例化47的多个整数类型,它们是否都对应于useCase中的值47,并且它们是否都可以指向列表以删除值47?

Ste*_*235 6

首先,当您传递一个原始int(例如47)时,它会被"自动装箱"到一个值为47的Integer.其次,Integer.equals()方法会比较原始值.