Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串[]值与字符串值[]_Java_Arrays_String - Fatal编程技术网

Java 字符串[]值与字符串值[]

Java 字符串[]值与字符串值[],java,arrays,string,Java,Arrays,String,我想知道这两者有什么不同 String values[] = new String[10] String[] values = new String[10] 这两种方法的使用方式相同。我们可以用同样的方法处理数据,那么有什么区别呢 使用后者声明数组。我们应该使用哪一种呢?两者都是相同的。这只是数组声明的不同形式 以下是数组声明的不同方式 String[] x = new String[3]; String[] x = {"a","b","c"}; String[] x

我想知道这两者有什么不同

String values[] = new String[10]

String[] values = new String[10]
这两种方法的使用方式相同。我们可以用同样的方法处理数据,那么有什么区别呢


使用后者声明数组。我们应该使用哪一种呢?

两者都是相同的。这只是数组声明的不同形式 以下是数组声明的不同方式

    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

实际上只是个人喜好的问题。我更喜欢
字符串[]
,因为它清楚地表明[]属于变量的类型。但我想使用旧语法的原因也可以找到。

它们是等价的


第一种是更多的c风格语法,因此他们将其保留在java中。

这两种语法都是有效的,并且产生完全相同的字节码。 Oracle(正式称为Sun)的惯例是使用后一种形式(
String[]values=new String[10]
),就像您遇到的任何开源项目一样,也就是说,这是您应该使用的一种形式。

根据

[]可能作为类型的一部分出现在声明的开头,或者作为特定变量的声明器的一部分出现,或者两者都出现

根据语言:

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

是的,他们是一样的。 例如:

byte[] rowvector, colvector, matrix[];
本声明相当于:

byte rowvector[], colvector[], matrix[][];

正如JavaDoc所希望的,使用第二个。