fas*_*ava 3 java arrays variables
private String[][] var[]
Run Code Online (Sandbox Code Playgroud)
这段代码编译.但是他们不应该在类型或变量上创建数组吗?
代码与此相同:
private String[][][] var;
Run Code Online (Sandbox Code Playgroud)
所有这些形式都是等同的:
private String[][][] var;
private String[][] var[];
private String[] var[][];
private String var[][][];
Run Code Online (Sandbox Code Playgroud)
它们都是相同的:一个三维的字符串数组.该String var[][][]语法可能看起来有点怪异,但它是像制造C/C++程序员感到宾至如归在Java中(这是你如何在正常的C/C++声明数组类型).
在Java中,String[][][] var语法是优选的,因为它清楚地表明,该类型的var是String[][][],在其他的语法和其不同的变化的类型的信息之前和可变后分裂-尽管它从编译器的角度来看完全合法的,它很难读.
甚至更奇怪,所有这些方法声明都是合法的和等价的:
String[][][] m() {return null;}
String[][] m() [] {return null;}
String[] m() [][] {return null;}
String m() [][][] {return null;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |