→ fgh81113: 為何不用ArrayList<ArrayList<Object>> ? 10/31 20:54
有想過,但因為我其實是想要用二維陣列 ArrayList<Object>[][]
因為我要紀錄平面上每個點(x,y)上的多筆資料,想說用二維陣列[x][y]比較直覺。
看來只好把ArrayList<Object>用新物件(NewObject)包起來,然後再NewObject[][]了XD
→ Aztecs: 你有認真看過錯誤訊息嗎? 10/31 21:34
錯誤訊息是:Type safety: The expression of type ArrayList[] needs unchecked
conversion to conform to ArrayList<Object>[]
想說應該是我 lists = new ArrayList[5]; 沒加<Object>,所以想問問要怎樣寫,
看怎樣加上<Object>,讓型別宣告明確點,使編譯器不會有警告。
→ lucky1lk: lists = new ArrayList<Object>[5](); ? 10/31 21:53
→ lucky1lk: 更正 lists = new ArrayList<Object>[](); 10/31 21:54
這樣好像也不行QQ
==============================================================================
感謝大家回答,後來有找到答案了
請參考本版 #1GFZzSrB (https://www.ptt.cc/bbs/java/M.1346256732.A.D4B.html)
→ sbrhsieh:compiler 沒有不准這麼寫,只是囉唆一點,提醒要注意。
→ awert:只能用非type-safe的方式建,否則compiler是不會過的
「這算是 Java 為了 generic 而導致出的一個大缺陷吧,而且不太直覺。」
看來ArrayList宣告成陣列,一定會有警告訊息@@
只好很麻煩的把ArrayList<Object>包起來了
再次謝謝大家幫忙XD
※ 編輯: ptt10 (36.237.204.87), 10/31/2015 23:57:05
→ kurakidream: 要不要自己包個coordinate物件 內含x y 座標 11/01 00:53
→ kurakidream: 類似ArrayList<Coordiante> list 之類的 11/01 00:53
推 coldman519: 推樓上 11/01 16:38
→ adrianshum: 樓上: Map<Coordinate,Data> 比較正常吧? 11/01 23:07
推 LaPass: 拜託不要用 List Map 亂包東西 orz..... 11/02 13:56
推 mraaa: 我比較好奇為什麼會需要用到ArrayList的陣列? 12/09 23:37
→ ptt10: 因為我想要紀錄平面上每個地點(x,y)上的多筆資料。 12/12 22:54
→ ptt10: 每個地點(x,y)用二維陣列宣告(這樣取值 直接[x][y]比較快) 12/12 22:56
→ ptt10: 然後每個地點有多筆(數量不定)測量值,想用list存。 12/12 23:00
→ ptt10: 所以直覺就想用ArrayList<o>[][]。不過後來決定把list包成 12/12 23:02
→ ptt10: 新物件了,謝大家XD 12/12 23:02