gpt4 book ai didi

java - foreach 不适用于 java.lang.object 和尝试遍历 java 中数组列表的数组列表时出现编译错误

转载 作者:行者123 更新时间:2023-11-29 07:50:53 25 4
gpt4 key购买 nike

我有一个数组列表的数组列表。我正在尝试遍历它们。但是我不断收到编译错误。我哪里错了。有没有更好的迭代方式。

代码:

import java.util.ArrayList;

public class ListofLists {
public static ArrayList family() {
// ArrayList of ArrayLists
ArrayList<ArrayList<String>> couples = new ArrayList<ArrayList<String>>();
ArrayList<String> husbands = new ArrayList<String>();
husbands.add("brad");
husbands.add("jessie");
couples.add(husbands);
ArrayList<String> wives = new ArrayList<String>();
wives.add("jolie");
wives.add("jena");
couples.add(wives);
return couples;
}


public static void main(String[] args) {
ArrayList couples = family();

for (Object couple : couples) {
for (String person: couple) {
System.out.println(person);
}
}
}
}

编译错误:

required: array or java.lang.Iterable
found: Object

预期输出:

brad
jessie
jolie
jena

最佳答案

您需要的是:

public static void main(String[] args) {
ArrayList<ArrayList<String>> couples = family();

for (ArrayList<String> couple : couples) {
for (String person : couple) {
System.out.println(person);
}
}
}

基本上,您将调用 familiy() 的结果存储在未知类型的 ArrayList 中。它会自动装箱到对象,并且 for-each 不适用于对象。

关于java - foreach 不适用于 java.lang.object 和尝试遍历 java 中数组列表的数组列表时出现编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358740/

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