我想知道这两者之间的区别是什么
String values[] = new String[10]
String[] values = new String[10]
这两种方法都使用相同的方式。我们可以用相同的方式处理数据,因此差异很大。
The Java tutorial使用后者来声明数组。我们应该使用哪一个?
答案 0 :(得分:1)
两者都是相同的。这些只是阵列声明的不同形式 以下是数组声明的不同方法
String[] x = new String[3];
String[] x = {"a","b","c"};
String[] x = new String[]{"a","b","c"};
String x[] = new String[3];
String x[] = {"a","b","c"};
String x[] = new String[]{"a","b","c"};
在所有情况下x.length
将输出3
答案 1 :(得分:1)
根据语言specification:
[]可能会出现在开头的类型中 声明,或作为特定变量的声明者的一部分, 或两者兼而有之。
所以是的,他们是一样的。 例如:
byte[] rowvector, colvector, matrix[];
此声明相当于:
byte rowvector[], colvector[], matrix[][];
答案 2 :(得分:0)
真的只是个人喜好的问题。我更喜欢String[]
,因为它清楚地表明[]属于变量的类型。但我想也可以找到使用旧语法的原因。
答案 3 :(得分:0)
他们是等同的。
第一个是更多c风格的语法,所以他们把它保存在java。
答案 4 :(得分:0)
两者都是有效的语法,并产生完全相同的字节码。
Oracle(以及正式的Sun)惯例是使用后一种形式(String[] values = new String[10]
),就像你遇到的几乎所有开源项目一样 - 也就是说,这是你应该使用的那种。
答案 5 :(得分:0)
[]可以在声明开头作为类型的一部分出现,也可以作为特定变量的声明者的一部分,或两者兼而有之。