2012-07-30 31 views
0

因此,我試圖找到一種方法來將一個列表或某些東西('列表'不是'列表'的實際Java定義,而不是白話用法)放入數字中數組。它會這樣:嘗試將多個數字傳入數組

Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3); 

隨着後面的數字,然後進入數組在土地(忽略其他數字)。

是否有任何語法可以在飛行中執行此操作?我知道在Python中有元組,但Java中是否有這樣的東西?

謝謝!

+0

我不明白「與後者的數字,然後進入Land中的數組(忽略其他數字)「。逗號分隔符的存在或不存在意味着什麼?你想要什麼輸出?你真的在問可變長度參數列表嗎? ... – 2012-07-30 18:35:51

+0

對不起,我沒有完全清楚。所以最後三位數字在那裏,因爲我不知道如何處理它們。真正的原始代碼只有前五位數字 - 我不知道該把最後三位數字放在裏面或左右以便讓它們被Land中的數組拾取,所以我排除了逗號。目前它沒有用處。 – EML 2012-07-30 18:41:25

+0

[在Java中使用元組]的可能重複(http://stackoverflow.com/questions/2670982/using-tuples-in-java) – Mez 2012-07-31 14:45:44

回答

2

你的意思是這樣的:

public class Land { 

    private final int[] values; 

    public Land(int... values) { 
     this.values = values; 
    } 
} 

或者,如果前五個參數的意思是別的東西:

public Land(int a, int b, int c, int d, int e, int... values) { 
    this.values = values; 
} 

然後稱其爲:

new Land(0,0,1,0,9, 1, 2, 3); 

編譯器會將最後的三個值爲你的數組。雖然沒有使用空格的文字形式。

0

你可以改變你的構造採取int數組

int [] params = new int{1,2,3}; 
Land FlintsFinger = new Land(0,0,1,0,9, params); 
1

你可以做這樣的事情:

Land FlintsFinger = new Land(0,0,1,0,9, new int[]{1, 2, 3}); 

或者您可以將構造函數更改爲:

public Land(int fst, int scn, int thr, int frth, int ffth, int... vals){} 

,並把它

Land FlintsFinger = new Land(0,0,1,0,9,1,2,3); 

(你的構造可以縮短爲public Land(int... vals),如果您輸入的所有整數都是原始值的)