在没有“未检查或不安全操作”警告的情况下,将ArrayList转换为ArrayList<Type>的最简单方法是什么?更具体地说,处理下面情况的最简单方法是什么?
public static void doStuff(ArrayList... a) {
// stuff
}我希望能够使用任意数量的参数调用该方法,这意味着a将是一个数组,因此我无法指定类型。因此,除非有替代解决方案,否则我需要将一个ArrayLists数组转换为ArrayList<Type>。
发布于 2015-02-02 23:00:39
如果需要将普通的ArrayList转换为ArrayList<Type>,那么它在逻辑上是不安全的转换,因为编译器不能保证类型对齐。如果在这种情况下不是问题,请忽略或抑制警告。它只是告诉您要小心:这并不一定意味着您的代码有问题。
发布于 2015-02-02 23:03:56
条件是不需要从List中添加或删除任何可以执行的操作
public static void doStuff(List<?>... list) {考虑到ArrayList是一个可变大小的集合,使用它可能更有意义。
public static void doStuff(List<?> list) {https://stackoverflow.com/questions/28288380
复制相似问题