2011-06-26 60 views
-1

程序我正在創建一個程序,其中一種方法正在使用不同陣列的LOT!對我而言,要跟蹤全部它們是相當困難的。那麼,爲什麼不把它們組合成一個多維數組呢?我的問題是如何將String[]陣列與Object[]陣列結合?SAME ARRAY中的不同變量類型? (Java)

有人可以幫助我嗎?

+0

你能指定嗎?將二維數組視爲矩陣。你想要什麼樣的細胞作爲刺激物,哪些是物體? –

+2

此外,如果您將數組組合起來以便更容易追蹤,我不確定這是一個很棒的設計方案。 –

+1

你能詳細解釋一下嗎?爲什麼你將數組合併成一個多維數組,如果它們不相關?你希望你的最終結果是什麼? – styfle

回答

3

如果你聲明一個特定類型的數組,所有的子類型都可以存儲在數組中。例如。

Object myArray[]; 

現在可以存儲任何對象,字符串,日期,Jbutton將等。然而,這可能當你檢索該數組中的項目是危險的。你必須確保你正確地解釋它們。如果存儲錯誤類型的對象,編譯器將無法警告您。

更好的方法可能是創建自己的集合對象,該對象以類型安全的方式存儲所有各種項目。

0

一種選擇是使用ArrayList<Superclass[]>,其中超類是您正在使用的所有類都繼承的某個類。如果沒有這樣的類,那麼使用Object。

-2

爲什麼不使用一個Object並將所有數組放入其中。

+0

不是一個好主意。您需要來回轉換,這可能會在運行時將ClassCastExceptions引入代碼中。 – adamjmarkham

0

您可以使用Object [] [],因爲String是對象。

4

這聽起來像是你缺少一個抽象,如果你所有的數組長度相同,那麼你可能應該定義一個類;一個記錄類型的數據結構,它具有所有公共字段(如果您的數據應該是不可變的,則添加最後的)或帶有getter和setter的JavaBean。 許多基元值的數組非常程序化,Java是面向對象的語言,所以在您的設計中使用它。

要添加到@ styfle的評論;如果他們不相關你爲什麼要這樣做?如果他們相關,爲什麼你不定義類?