因此,我試圖找到一種方法來將一個列表或某些東西('列表'不是'列表'的實際Java定義,而不是白話用法)放入數字中數組。它會這樣:嘗試將多個數字傳入數組
Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3);
隨着後面的數字,然後進入數組在土地(忽略其他數字)。
是否有任何語法可以在飛行中執行此操作?我知道在Python中有元組,但Java中是否有這樣的東西?
謝謝!
因此,我試圖找到一種方法來將一個列表或某些東西('列表'不是'列表'的實際Java定義,而不是白話用法)放入數字中數組。它會這樣:嘗試將多個數字傳入數組
Land FlintsFinger = new Land(0,0,1,0,9, 1 2 3);
隨着後面的數字,然後進入數組在土地(忽略其他數字)。
是否有任何語法可以在飛行中執行此操作?我知道在Python中有元組,但Java中是否有這樣的東西?
謝謝!
你的意思是這樣的:
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);
編譯器會將最後的三個值爲你的數組。雖然沒有使用空格的文字形式。
public Land(Integer int1, Integer... ints){}
你的意思是varags:http://www.java-tips.org/java-se-tips/java.lang/using-the-varargs-language-feature.html
你可以改變你的構造採取int數組
int [] params = new int{1,2,3};
Land FlintsFinger = new Land(0,0,1,0,9, params);
你可以做這樣的事情:
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)
,如果您輸入的所有整數都是原始值的)
我不明白「與後者的數字,然後進入Land中的數組(忽略其他數字)「。逗號分隔符的存在或不存在意味着什麼?你想要什麼輸出?你真的在問可變長度參數列表嗎? ... – 2012-07-30 18:35:51
對不起,我沒有完全清楚。所以最後三位數字在那裏,因爲我不知道如何處理它們。真正的原始代碼只有前五位數字 - 我不知道該把最後三位數字放在裏面或左右以便讓它們被Land中的數組拾取,所以我排除了逗號。目前它沒有用處。 – EML 2012-07-30 18:41:25
[在Java中使用元組]的可能重複(http://stackoverflow.com/questions/2670982/using-tuples-in-java) – Mez 2012-07-31 14:45:44