我有一個名爲myClass的對象實例,我需要在對象中設置約30個變量的值,並且我需要在我的類中執行大約30次(在30個方法中)。Android,避免在方法中鍵入每個屬性的對象名稱?
myClass.vOne
myClass.vTwo
...
myClass.vThirty
有沒有什麼辦法可以讓我不必輸入「myClass」。 900次?
我有一個名爲myClass的對象實例,我需要在對象中設置約30個變量的值,並且我需要在我的類中執行大約30次(在30個方法中)。Android,避免在方法中鍵入每個屬性的對象名稱?
myClass.vOne
myClass.vTwo
...
myClass.vThirty
有沒有什麼辦法可以讓我不必輸入「myClass」。 900次?
如果我理解正確,您正在尋找一個類似於VB的With
的構造。 Java沒有這樣的結構,因爲它通常被認爲是一種不好的做法,因爲它僅僅爲了保存擊鍵而隱藏你的代碼。
兩個方案可以考慮:
在您的班級編寫一個方法,您可以從其他地方撥打電話。喜歡的東西:
public void init(List<Object> args) {
vOne = args.get(0);
vTwo = args.get(1);
...
}
和客戶端代碼:
List<Object> args = new ArrayList<Object>(30);
args.add(1);
args.add(2);
...
myClass.init(args);
這只是做了額外的工作,因爲我的方法的目的是初始化變量。 – Hamid 2010-11-24 19:00:44
如果你有30個變量需要進行設置,你有30個變量需要進行設置。您可以創建一些功能,讓您在一次調用中設置相關的項目組。
public void setStuffAboutThings(int a, int b, int c, int d, int e, int f) {
vOne = a;
vTwo = b;
vThree = c;
vFour = d;
vFive = f;
}
...
MyClass.setStuffAboutThings(10, 20, 30, 40, 50);
但實際上,當涉及到它時,如果需要設置30個變量,則必須設置30個變量。你也可以輸出你想要設置的所有成員變量,然後使用支持基於列的文本編輯模式的編輯器,並且一次插入「MyClass」30次。
根據您的數據,也許您可以創建一個數組,列表或哈希值,並使用某種循環設置值。
不知道更多的細節,它真的不可能引導你。
你是對的。我之後是類似於「與」。虐待與宏觀方法,謝謝。 – Hamid 2010-11-24 19:06:37