var*_*tis 2 java arrays syntax
有人可以解释下面的内容吗?
private HashSet nodes[];
nodes = new HashSet[21];
Run Code Online (Sandbox Code Playgroud)
我有点困惑......在区别之间
private HashSet nodes = new HashSet;
Run Code Online (Sandbox Code Playgroud)
以及上面,特别是方括号的语法.这是一个HashSets数组吗?因为通常我常常看到
int[] myarray = new int[21];
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
它们只是替代品 - 遗憾的是它们都是有效的.
哎呀,即使这样也是有效的:
int[] bad [] = null;
Run Code Online (Sandbox Code Playgroud)
这相当于
int[][] bad = null;
Run Code Online (Sandbox Code Playgroud)
不要这样做,显然:)
[]可以作为声明开头的类型的一部分出现,也可以作为特定变量的声明者的一部分出现,或者两者兼而有之.
和
我们不建议在数组变量声明中使用"混合表示法",其中括号出现在类型和声明符中.
基本上,使用将所有类型信息保存在一个地方的表单 - 您习惯的表单.这是压倒性的惯用形式.