gpt4 book ai didi

java - 转换为ArrayList

转载 作者:行者123 更新时间:2023-12-01 17:23:36 24 4
gpt4 key购买 nike

我已将 ArrayList 存储在 Map 中,并且正在尝试取回该 ArrayList:

//init map with data: Map<Integer, ArrayList<MyObject>>
while(iterator.hasNext()) {
Entry entry = iterator.next();
ArrayList value = (ArrayList)entry.getValue();
}

将entry.getValue() 转换为通用ArrayList 似乎有效,但是当我尝试将其转换为特定ArrayList 时:

ArrayList<MyObject> value = (ArrayList<MyObject>)entry.getValue();

编译器出现错误。某种“上次编译的警告”。是否可以将其转换为我的特定 ArrayList,以便之后我可以使用 For-Each-Loop 循环它?

最佳答案

如果您要像这样创建 map

Map<Integer, ArrayList<MyObject>> map = new HashMap<Integer, ArrayList<MyObject>>();

您不需要强制转换,因此不会出现警告

for(Entry<Integer, ArrayList<MyObject>> e : map.entrySet()) {
Integer key = e.getKey();
ArrayList<MyObject> value = e.getValue();
}

完成了泛型简介,基本上是为了避免此类警告。使用泛型,我们应该定义要存储在数据结构中的对象的“类型”。因此,在检索时,Java 编译器确切地知道数据结构返回的对象是什么。

关于java - 转换为ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16740569/

24 4 0