3
在處理,我已經定義了以下類:將數組傳遞給構造函數而不聲明它?
class SomeClass {
SomeClass(int[] someArray) {
println(someArray);
}
}
現在我想創建一個類的實例,但我遇到了麻煩傳遞給構造函數的數組:
SomeClass myVar = new SomeClass({
12, 10
});
但是,這總是給我一個錯誤「意外的令牌:{」。所以顯然定義陣列「在飛行中」不起作用。
然而,這將工作:
int[] dummy = {12, 10};
SomeClass myVar = new SomeClass(dummy);
但我發現它,而愚蠢的聲明之外的對象數組,因爲這會導致各種創建多個對象時的麻煩:
int[] dummy = {12, 10};
SomeClass myVar = new SomeClass(dummy);
dummy = {0, 100};
SomeClass myVar2 = new SomeClass(dummy);
該類的兩個實例現在都有對同一個數組{0, 100}
的引用,這當然不是我打算做的。
所以我的問題是:如何正確地傳遞一個數組到一個類的構造函數而不必聲明數組之前?它甚至有可能嗎?
謝謝你的回答!
實際上,第一個語法'new int [] {'正是我的意思,因爲我現在不必在之前將變量的引用存儲在變量中。但'''語法非常棒。我在Java中並不是很流暢,但喜歡使用處理 - 這是一個很棒的技巧! –
任何語法本質上都是引擎蓋下的相同過程,它只會自動完成! :D –
所有這些年來公然討厭,抨擊和燃燒的Java,現在我不得不承認我有點像Java。 ;) –