我需要在我的程序集合中收集集合。所以像这样:
ArrayList<ArrayList<ArrayList<String>>>
你可以看到这看起来不太好。主要是当我使用大量的仿制药时。所以我创造了这样的东西:
public class ThreeDimensionArray extends ArrayList<TwoDimensionArray> { }
class TwoDimensionArray extends ArrayList<ArrayList<String>> { }
这个解决方案在某种程度上是坏的还是没问题?
答案 0 :(得分:1)
这不是很好,但没关系。它正在掩盖你正在做的事情 - 当你创建一个具体的类来定义类型擦除在编译时变成标准List的东西时,它有点浪费。
你真的应该使用List而不是ArrayList和菱形运算符,这两个变化都会使原始更整洁:
List<List<List<String>>> 3dList = new ArrayList<>();
如果您确实沿着定义的班级路线走下去,至少使用泛型 -
class TwoDimensionArray<T> extends ArrayList<ArrayList<T>> { }
然后您可以将它用于多种类型。