在调用方法时。如果方法出现了重载现象,优先调用实参与形参一致的那个方法。
package demo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;
public class submit {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
//删除元素:在调用方法时。如果方法出现了重载现象,优先调用实参与形参一致的那个方法。
list.remove(1);
System.out.println(list);
Integer i = Integer.valueOf(1);
list.remove(i);
System.out.println(list);
}
}
解释:
remove方法接受的形参一个是int类型,一个是Object类型。 当直接使用list.remove(1);
时候,其实参是int类型。所以进行的是删除1索引的操作。
当使用list.remove(i);
时,i是Integer类型,所以调用的是删除元素值得方法。