2009-12-15 94 views
4

所以我的問題是,我已經寫了一個函數,需要兩個雙打,兩個Int和Android(Java)上的日曆對象。我相信提供的類允許它在單獨的線程AsyncTask中運行,只接受一種類型的對象(但允許多個)作爲參數,所以我想我可能能夠將它放在List或LinkedList或其他東西中。列表的類型,以存儲Multipe數據類型

有沒有這樣的類型,允許多種數據類型(Double, Double, Int, Int, Calendar),或者我將不得不創建我自己的對象類?我是一個新手程序員,所以不那麼複雜可能更好,但我也對最好的解決方案感興趣。

該功能所做的是取一個位置(double latitude, double longitude),一些選項作爲整數和一個日曆對象。它需要位置,選項和日期,然後返回該位置的日出(或日落,取決於選項)的時間對象。感謝提示,我知道最好創建一個特殊的對象類並傳遞它,或者重寫後臺線程類,但我對於面向對象編程來說很新穎,所以開銷越小越好(對於現在)。

(更新)經過大量的工作,最終變得更容易製作一個數據類類並使用它。最後,正確的方法變得更容易。誰會想到。

回答

16

只是

List<Object> objects = new ArrayList<Object>(); 

左右?

雖然我不會推薦這種方法。數據必須以某種方式相互關聯。爲什麼要讓自己難以在一個集合中混合不同類型的數據?最後你需要什麼?只是通過圖層傳遞它?您也可以爲此創建一個自定義的javabean對象(也稱爲值對象或數據傳輸對象)。喜歡的東西:

public class Data { 
    private Double double1; 
    private Double double2; 
    private int int1; 
    private int int2; 
    private Calendar calendar; 
    // Add/generate getters and setters. 
} 
+0

這就是我要推薦的。 +1 – mheathershaw 2009-12-15 06:19:26

+0

這個類需要一個屬性來告訴你哪一個屬性是真正設置的。 – 2009-12-15 06:21:37

+0

@mheathershaw:謝謝。 @不退款:OP沒有提及,它通常也不是javabean的責任,所以這沒有意義。 – BalusC 2009-12-15 06:23:20

1

最不復雜的方法是將有列表是Object類型和存儲在一個List這樣的項目。

0

所以你真的在尋找對錯誤問題的答案。你遇到的問題不是你所描述的問題,而是你需要問的問題。換句話說,如果你覺得你做錯了什麼,或者試圖把一個方形釘子插入一個圓形洞裏,那是因爲你可能是。如果您完全控制代碼,請查找其他實現方法以獲得您想要的結果。我100%確定那個天真的解決方案,一個擁有Objects的列表是不好的。 :) 祝你好運。