java - 为什么java允许私有(private)String[][]var[]

标签 java arrays variables

private String[][] var[]

这段代码可以编译。但他们不应该根据类型或变量创建数组吗?

最佳答案

代码与此相同:

private String[][][] var;

所有这些形式都是等效的:

private String[][][] var;
private String[][] var[];
private String[] var[][];
private String var[][][];

它们的含义都相同:三维字符串数组。 String var[][][] 语法可能看起来有点奇怪,但这就像让 C/C++ 程序员在 Java 中感觉很自在(这就是通常在 C/C++ 中声明数组类型的方式)。

在 Java 中,首选 String[][][] var 语法,因为它清楚地表明 vartypeString[][][],在其他语法及其不同变体中,类型信息在变量前后分开 - 尽管从编译器的角度来看这是完全合法的,但它更难阅读。

更奇怪的是,所有这些方法声明都是合法且等效的:

String[][][] m()  {return null;}
String[][] m() [] {return null;}
String[] m() [][] {return null;}
String m() [][][] {return null;}

关于java - 为什么java允许私有(private)String[][]var[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55818409/

相关文章:

java - 为什么 GEF 编辑器部分不显示?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

c - 在结构中设置数组值在结构中设置不同的字段

javascript - 如何在 Javascript 函数之间传递变量?

jquery - 在 jQuery 中定位多个变量

file - 写入文件nodemcu lua

java - Bootstrap 不适用于 jsp

java - 严重 : Exception sending context initialized event to listener instance

java - 如何从不同的文件夹中选择多个文件?

php - array_unique 对象?