我在混合通用和非通用集合时面临两难境地。例如:这是新的 java 5/6 通用代码。
List<Integer> list = new ArrayList<Integer>();
list.add(5);
Alpha a = new Alpha();
a.insert(list);
for (Integer integer : list) {
System.out.println(integer); //will get classCastException
}
非通用遗留代码
public class Alpha {
public void insert(List list) {
list.add(new String("50"));
}
}
我知道我会在运行时得到 classCastException。但即使在添加字符串/狗之后,我也想打印列表的所有元素。有人可以建议我如何实现这一目标吗?