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

java中的Collections.checkedList()调用什么?

欧阳骏俊
2023-03-14
问题内容

我只想知道java.util.Collections.checkedList()实际使用的是什么。

我有一些我知道会返回给我的代码,List<String>但是正在通过一系列消息传递传递给我,并以形式返回给我java.io.Serializable。那checkListList呼叫对我Serializable变成一个List<String>好吗?我知道我可以将其转换为a
java.util.List,但我宁愿不必检查每个元素,也不能认为每个元素都是a String


问题答案:

它可以部分用作调试工具,以查找代码在哪里插入了错误类型的类,以防万一您看到了这种情况,但无法确定在哪里。

您可以将其用作提供集合的公共API的一部分,并且要确保该集合中没有错误类型的任何内容(例如,如果客户端删除了泛型)。

在您的情况下可以使用它的方式是:

 Collections.checkedList(
      new ArrayList<String>(uncertainList.size()), String.class)
      .addAll(uncertainList);

如果那没有引发异常,那么您就知道自己很好。那不是性能优化的代码,但是如果列表内容很小,那就没问题了。



 类似资料:
  • 我试图理解JVM中的调用站点是什么。引用https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.4.3.6 调用站点说明符解析的结果是一个元组,包括: •对, •对, 对、、和实例的引用。 我们还有所谓的调用站点对象https://docs.oracle.com/javase/specs/jvms/se8/html

  • 问题内容: 我已经阅读了回调的Wikipedia定义,但仍然不明白。谁能解释一下回调是什么,尤其是以下几行 在计算机编程中,回调是对可执行代码或一段可执行代码的引用,该代码作为参数传递给其他代码。这允许较低层的软件层调用较高层中定义的子例程(或函数)。 问题答案: 也许一个例子会有所帮助。 您的应用程序想要从一台远程计算机下载文件,然后写入本地磁盘。远程计算机是拨号调制解调器和卫星链路的另一侧。延

  • 问题内容: 我已经在某些计算机科学测试中看到了下一段,希望我能在这里对它的含义有一个很好的解释,因为我用它搜索了一个小时,却找不到任何东西。 “当我们说Java语言具有 虚拟方法调用时 ,是指在Java应用程序中,执行的方法由运行时的对象类型决定” 这是什么意思?谁能更好地解释它? 问题答案: 这些行的作者使用的C ++术语。 更好的术语是动态绑定/动态调度。 这意味着,对象的动态类型是“选择”将

  • 问题内容: 我将用Java进行RESTful调用。但是,我不知道如何拨打电话。我是否需要使用URLConnection或其他?谁能帮我。谢谢。 问题答案: 如果从服务提供商(例如Facebook,Twitter)调用RESTful服务,则可以选择以下任意一种方式: 如果您不想使用外部库,则可以使用或(对于SSL),但这是封装在中的Factory类型模式中的调用java.net.URLConnect

  • 问题内容: 我需要知道何时在中调用该方法。我创建了一个测试类,该法通过覆盖该方法来在调用该方法时将其写入文件。它不执行。谁能告诉我它为什么不执行的原因? 问题答案: 通常,最好不要依赖进行任何清理等工作。 根据Javadoc(值得阅读),它是: 当垃圾回收确定不再有对该对象的引用时,由垃圾回收器在对象上调用。 正如Joachim指出的那样,如果对象始终是可访问的,则在程序生命中可能永远不会发生这种

  • 问题内容: 我们知道以下调用约定:“前六个整数或指针参数在寄存器RDI,RSI,RDX,RCX(Linux内核接口中的R10 [17]:124),R8和R9中传递给c / c ++代码”基于以下文章的Linux平台。 https://zh.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions 但是,Linux平台