【问题标题】:What is the difference between "String[] s" and "String s[]"? [duplicate]“String[] s”和“String s[]”有什么区别? [复制]
【发布时间】:2014-04-20 04:27:05
【问题描述】:

这两种在 Java 中创建 array 的方式有什么区别(如果有的话)?

方法一:

String[] s = new String[];

方法二:

String s[];

提前致谢。

【问题讨论】:

  • 一个只是声明一个变量,另一个初始化它。
  • 第一种方法也编译不了。

标签: java arrays


【解决方案1】:

有几种方法可以解释您的问题,

// this was missing a size. So we need to add one.
int x = 10;
String []s = new String[x];
String s[] = new String[x]; // This is the same as the previous line.

另一种形式的问题是这样的,

//These are two null arrays.
String s[];
String []s;

因此,您可以在 Java 中将括号放在数组名称之前(或之后)。这是编译器提供的便利,它们是等价的。

【讨论】:

    【解决方案2】:
    String[] s = new String[length];
    

    这将创建一个长度为length 的新数组,并用空值初始化其值。

    String s[];
    

    这声明了一个新的数组变量,其值为null。需要先初始化才能使用,而且因为还没有初始化,所以不能说有长度。

    【讨论】:

    • 这不是有效的代码,不是没有分配给创建的数组的大小。如果在方法 1 中给出了这样的大小,那么您的答案将是正确的。方法 2 创建一个新数组;它只是创建了一个String[] 类型的新变量。
    • 我明白你在做什么;我已经进一步编辑了你的答案。
    • @MichaelPetrotta 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-06-25
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 2016-06-20
    • 1970-01-01
    相关资源
    最近更新 更多