gpt4 book ai didi

Java "unchecked or unsafe operations"和Java自己的类

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:11 26 4
gpt4 key购买 nike

在阅读 HashMap 类的源代码时,我注意到它们使用(第 149 行)

transient Entry<K,V>[] table;

然后他们用(第 283 行)初始化它:

table = new Entry[capacity];

而且我看不到与“未经检查或不安全的操作”相关的警告。

但是当我尝试写一些类似的东西时:

TestClass<T>{...
LinkedList<T>[] arrayOfLists; ....
arrayOfLists = new LinkedList[capacity]; //warning here

不幸的是,使用 @SuppressWarnings("unchecked") 对我来说不是一个选择......

LinkedList<String>[]...

仍然相同,所以我的问题是我缺少什么区别,以及对于不会引起警告的通用集合数组来说,什么是一个好的解决方案。顺便说一句,不幸的是,@SuppressWarnning 不适合我。

最佳答案

Java 集合 API 中的代码无法顺利编译。他们也会收到警告。您不会看到警告,因为使用 JDK,您已经拥有包含已编译代码的 .class 文件(或 .jar)。

对于您自己的代码,只需使用链接列表的列表:

TestClass<T> { ...
List<LinkedList<T>> listOfLists; ...
listOfLists = new ArrayList<LinkedList<T>>(capacity);

关于Java "unchecked or unsafe operations"和Java自己的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15594048/

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