static void test1(int x) {
switch(x) {
case 1 :{ ArrayList<String> list1 = new ArrayList<String>();
}
case 2 : { ArrayList<Integer> list1 = new ArrayList<Integer>();
}
}
((List)list1).add((<casttype>)x); //line x
}
public static void main(String[] args) {
test1(1);
}
在测试1中,列表是根据从main函数传递的参数创建的
在第x行中,必须在类型转换后根据类型添加x参数,并在switch case中初始化列表
你不能:你丢失了test1
中的信息,你将新创建的列表分配给原始类型List
的变量。
更新:
现在,当您将列表传递给test2
时,信息将丢失。