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/12523961/

相关文章:

variables - 在内核调用之前从 CPU 初始化 GPU 的单个变量

java - 从命令行获取java进程的 "user.dir"系统属性

java - Hystrix:自定义断路器和恢复逻辑

Java + Spring + Hibernate : "order by" slow on production

python - 从 NumPy 数组中选择特定的行和列

ios - Swift:创建字典值数组

c# - 在 C# 中传递变量

java - 将不同的代理连接到特定地址

c++ - 使用递归段错误核心转储对数组进行排序

ruby:如何在本地上下文中加载 .rb 文件