2009-09-24 43 views

回答

32
bar.setArray(new String[] { "foo" }); 

我相信這種格式是必需的,因爲Java不想暗示數組類型。使用數組初始化格式時,類型由指定變量的類型明確定義。內聯,數組類型不能被推斷。

2

你應該使用這樣的:

bar.setArray(新的String [] { 「富」});

6

正如其他人所說:

bar.setArray(new String[] {"foo"}); 

它計劃允許擺脫在J2SE 5.0 new String[]的,而是我們有可變參數。使用可變參數,您可以稍微更改setArray的聲明,以使用...代替[],並溝通new String[] { }

public final class Bar { 
    public void setArray(String... array) { 
    [...] 
} 

[...] 
    bar.setArray("foo"); 
0

不幸的是,Java配套內聯陣列最接近的是new String[]{"foo", "bar"}但是有一種巧妙的方法,可以讓你做這樣的事情

array("foo", "bar")與自動推斷類型。

我一直在研究一種有用的API來增強Java語言以允許內聯數組和集合類型。欲瞭解更多詳情谷歌項目Espresso4J或檢查出here

+0

這裏只是一個重申Kev的評論鏈接:http://stackoverflow.com/questions/1154008/java-anyway-to-declare-an-array-in -73000558#7300558(是的,我正要標記你;有6面旗幟你會被踢出)。 – BalusC 2011-09-05 02:29:50

相關問題