[java] 奇怪的數組返回類型


2 Answers

就像是

  String[] a; 

是相同的

  String a[];

方法返回類型的語法同樣適用

  public static String mySplit(String s)[] {

是相同的

  public static String[] mySplit(String s) {

但我認為我從來沒有見過你在高效代碼中提到的版本。

Question

有沒有人看到這樣的方法簽名之後放置的數組[]

public static String mySplit(String s)[] {
    return s.split(",");
}

public static void main(String... args) {
    String[] words = mySplit("a,b,c,d,e");
    System.out.println(Arrays.toString(words));
}

版畫

[a, b, c, d, e]

在過去,奇怪的符號一直是“C”兼容性,但我不會想像有人用C寫這個。

有誰知道為什麼這甚至被允許?

我正在使用Java 7更新10,以防萬一。

這在Java 6中也是如此http://ideone.com/91rZV1

順便說一句,這不會編譯,我也不會期望它

public static <T> List mySplit(String s)<T> {
    return Collections.emptyList();
}



我相信它只是告訴Java返回類型是一個Strings數組,就像聲明一樣

static String[] mySplit(String s) {...

類似於聲明變量:

String myStringArray[];

相當於

String[] myStringArray;



是的,這是允許的,

同樣的原因:

String[] myArray;

相當於

String myArray[];



Related