当前位置: 首页 > 面试题库 >

Java从列表

景光赫
2023-03-14
问题内容

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

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-精确参数匹配优先于自动装箱。


问题答案:

Java总是调用最适合你的参数的方法。仅在没有不使用强制转换/自动装箱方法就无法调用的方法的情况下,才执行自动装箱和隐式向上转换。

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

  • remove(Object o)
  • remove(int index)

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



 类似资料:
  • 问题内容: 我有一个Java API,它返回的列表如下: 我正在使用以下scala代码: 现在,如果我尝试使用scala语法糖,例如: 这是行不通的。我得到错误: 看来我需要将Java列表转换为Scala列表。在上述情况下该怎么做? 问题答案: 从 Scala 2.8开始, 此转换现在已使用以下语言构建: 作品。不工作 在2.12.x中使用 在2.13.x中使用

  • 我想按标题做一个查询,如下所示: 问题是标题列字符集是latin1,而我的Java文件编码是UTF8。当title变量包含特殊字符(如重音)时,查询永远不会找到结果。 我使用的是MySQL数据库,连接url是: jdbc:mysql://mysite:3306/mydatabase?autorreconnect=true&characterencoding=latin1&useoldaliasMe

  • 问题内容: 我正在尝试让Akka进入我的Java项目,并且我挂了一个Scala的Seq类型的小问题。我可以将ActorRef的Java列表转换为scala.collection.Seq,但是我要使用的Akka API需要一个scala.collection.immutable.Seq。我该怎么做? 码: 问题答案: 您可以使用到Java转换为斯卡拉,其中有一个方法和斯卡拉是一个。

  • 问题内容: 我正在寻找Java中的开源API来解析SQL / HQL查询,以便为我提供其中使用的列名和表名。我尝试使用JSQLParser,它为我提供了查询中使用的表名。但是我看不到支持获取查询中使用的列名的支持。还有其他API可以帮助我吗?我知道通用SQL解析器,但它似乎是付费的。 这是使用JSQLParser的代码片段,它为我提供了查询中的表名: 在此先感谢您的任何帮助。 问题答案: 使用JS

  • 我的问题是:我有列表对象学生包括100个对象 现在,我只想得到一些学生的年龄有名字“ABC”,“BCD”,“DEF” 所以我会这么做:

  • 作为我作业的一部分,我们得到了一个我们不能更改的接口,以及一些用来开发我们方法的预定义测试。 界面如下: 我正在运行的特定测试: 以及我需要从测试中创建的方法: 从测试中我可以看出,在方法中,我需要创建并用注册映射中匹配的学生填充它,然后返回列表。 我创建了以下字段:- 我搞不懂的是,如何将注册地图中的数据传递到学生列表中,以使测试中的断言为真。