Re: [問題] ArrayList的get方法

看板java作者 (越高越想征服...)時間19年前 (2006/08/16 16:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《tkcn (小安)》之銘言: : : 首先,Collection 中是無法存放 primitive 的,只能夠存放 Object : 但是在 5.0 裡頭,這樣的寫法並不會產生任何錯誤, : 這是因為 5.0 的 auto-boxing 把 int 包裝成了 Integer : --- : 但是因為沒有使用 Generic 的 Collection, : 是以 Object type reference 你存入的東西 : 所以取出來的物件自然也是 Object : 要如何把這個物件轉回 int : 這時候就會用到 auto-unboxing : int n = (Integer) list.get(0); : ( 先將 Object 轉成 Integer,再 unboxing 成 int ) : --- : 雖然這麼做是沒問題的, : 但是你應該善用 5.0 的另一個特色,也就是前面提過的 Generic : 在宣告 ArrayList 的時候採用這樣的方式: : ArrayList<Integer> list = new ArrayList<Integer>(); : 接下來你就可以如同下方這樣,很直覺的操作 ArrayList 了 : list.add(123); : int a = list.get(0); 感謝大大教學 又學到一課了 ^^ 第三行... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.198.137
文章代碼(AID): #14ujXJRk (java)
文章代碼(AID): #14ujXJRk (java)