gpt4 book ai didi

java - 从 List 中正确删除 Integer

转载 作者:行者123 更新时间:2023-11-29 08:50:55 24 4
gpt4 key购买 nike

这是我刚刚遇到的一个很好的陷阱。考虑一个整数列表:

List<Integer> list = new ArrayList<Integer>();
list.add(5);
list.add(6);
list.add(7);
list.add(1);

关于执行 list.remove(1) 时会发生什么的任何有根据的猜测? list.remove(new Integer(1)) 怎么样?这可能会导致一些严重的错误。

区分 remove(int index) 的正确方法是什么? , 它从给定索引和 remove(Object o) 中删除一个元素, 它在处理整数列表时通过引用删除元素?


这里要考虑的要点是 @Nikita mentioned - 精确参数匹配优先于自动装箱。

最佳答案

Java 总是调用最适合你论点的方法。自动装箱和隐式向上转换仅在没有不进行转换/自动装箱的情况下可以调用的方法时才执行。

List接口(interface)指定了两个remove方法(请注意参数的命名):

  • 删除(对象 o)
  • 删除(整数索引)

这意味着 list.remove(1) 删除位置 1 的对象,remove(new Integer(1)) 从中删除第一次出现的指定元素这个列表。

关于java - 从 List<Integer> 中正确删除 Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22750152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com