【发布时间】:2019-02-22 10:26:06
【问题描述】:
所以我只是想尝试使用 ArrayList 并遇到了这个问题:
当我这样做时,为什么 Java 会说“ArrayList 已经被声明”:
ArrayList<Integer> myList = new ArrayList<>();
ArrayList<Integer> myList = new ArrayList<>();
但是当我这样做时Java不会说列表已经声明(并且编译没有错误):
for(int i=0; i<5; i++){
ArrayList<Integer> myList = new ArrayList<>();
}
【问题讨论】:
-
因为你有两个同名的变量。在第二个中,您始终只有一个,即使循环是无限的
-
大括号描述了变量的范围。在循环中,变量
myList在循环的每一轮结束时超出范围。 -
另外,你的变量声明中有不需要的
()。