gpt4 book ai didi

java - 为什么下面的代码会出错

转载 作者:行者123 更新时间:2023-12-01 07:58:47 25 4
gpt4 key购买 nike

下面的代码给我一个编译错误。它说我应该在第二个循环中使用它之前在某处初始化 v ,而在第一个循环中一切似乎都很好。我想也许它会隐式初始化为 0。感谢对此的任何反馈。另外,在这种情况下最好的做法是什么。

public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<Integer>();
ArrayList<Integer>[] list2=(ArrayList<Integer>[])new ArrayList[10];
for(int v:list)
System.out.println(v);

for(int v:list2[v])
System.out.println(v);
}

最佳答案

第一个“v”的范围仅限于第一个 for 循环。

因此,在第二个循环中,您在下标中使用的“v”在第一次使用时并未声明。

您希望在第二个“for”中做什么?打印 list2 中的所有内容?如果是,那么您需要像这样创建一个嵌套的 for 循环:

for(ArrayList<> innerList : list2)
for(int i : innerList)
System.out.println(i);

请注意,由于 list2 包含 ArrayList 而不是 int,因此您无法像代码中那样执行 for 操作(迭代变量不能是 int)。

关于java - 为什么下面的代码会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054172/

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