堆叠泛型

rho*_*ron 8 java generics

这是不好的做法吗?

ArrayList<ArrayList<ArrayList<Double>>> list = new ArrayList<ArrayList<ArrayList<Double>>>();
Run Code Online (Sandbox Code Playgroud)

And*_*s_D 7

它是一个基于ArrayList的三维矩阵.看起来不太好,但这就是我们写它的方式.

另一种选择可能是:

List<List<List<Double>>> list = new ArrayList<List<List<Double>>>();
Run Code Online (Sandbox Code Playgroud)

这有点短,通常可以,因为在大多数情况下你只对接口方法感兴趣.

因此,如果您需要可调整大小的三维矩阵数据结构,那么这是一种干净的方法.


Bal*_*usC 4

这不一定是不好的做法。这只是“不可读”。请耐心等待,在即将推出的 Java 7 中,您可以在构造参数化类型时省略特定泛型类型中的多余内容:

List<List<List<Double>>> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

这称为类型推断

到目前为止,如果您可以忍受编译器警告,您也可以这样做:

List<List<List<Double>>> list = new ArrayList();
Run Code Online (Sandbox Code Playgroud)