【发布时间】:2019-12-18 08:25:00
【问题描述】:
所以 JAVA 中的 ArrayList 有 2 个删除函数,1 个返回旧值,另一个返回布尔值。
remove(Object) return boolean
remove(index) return oldvalue
现在如果两个对象也是整数,那么 JAVA 是如何区分的
例如:- 在代码arr.remove(j);
代码
ArrayList<Integer> arr = new ArrayList<Integer>();
for (int i = 2; i < 239697453; i++) {
arr.add(i);
}
int a = arr.size();
for (int i = 2; i < a; i++) {
for (int j = 0 j < a; j++) {
if (arr.get(j) % i == 0) {
arr.remove(j);
}
}
}
【问题讨论】:
-
j不是Integer,而是int。 -
区分基于原始 int,这意味着它是一个索引,而包装器是一个对象,因此 remove 是实际删除当前对象。