2010-11-24 48 views
0

我有一個名爲myClass的對象實例,我需要在對象中設置約30個變量的值,並且我需要在我的類中執行大約30次(在30個方法中)。Android,避免在方法中鍵入每個屬性的對象名稱?

myClass.vOne 
myClass.vTwo 
... 
myClass.vThirty 

有沒有什麼辦法可以讓我不必輸入「myClass」。 900次?

回答

0

如果我理解正確,您正在尋找一個類似於VB的With的構造。 Java沒有這樣的結構,因爲它通常被認爲是一種不好的做法,因爲它僅僅爲了保存擊鍵而隱藏你的代碼。

兩個方案可以考慮:

  1. 錄製簡短的宏在你的IDE
  2. 在此之前做你的質量特性的操作,那麼您可以縮短對象的名稱爲單字符的名稱。這仍然掩蓋了一些事情,但它儘可能接近你想要的東西。
+0

你是對的。我之後是類似於「與」。虐待與宏觀方法,謝謝。 – Hamid 2010-11-24 19:06:37

0

在您的班級編寫一個方法,您可以從其他地方撥打電話。喜歡的東西:

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); 
+0

這只是做了額外的工作,因爲我的方法的目的是初始化變量。 – Hamid 2010-11-24 19:00:44

2

如果你有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次。

根據您的數據,也許您可​​以創建一個數組,列表或哈希值,並使用某種循環設置值。

不知道更多的細節,它真的不可能引導你。