String [] values vs String values []

时间:2013-11-06 05:37:50

标签: java arrays string

我想知道这两者之间的区别是什么

String values[] = new String[10]

String[] values = new String[10]

这两种方法都使用相同的方式。我们可以用相同的方式处理数据,因此差异很大。

The Java tutorial使用后者来声明数组。我们应该使用哪一个?

6 个答案:

答案 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)

根据JLS on Arrays

  

[]可以在声明开头作为类型的一部分出现,也可以作为特定变量的声明者的一部分,或两者兼而有之。