Re: [問題] ArrayList的get方法

看板java作者 (小安)時間19年前 (2006/08/16 01:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《tan45is1 (越高越想征服...)》之銘言: : 我將int存入ArrayList中, : 用get()將他取出,但不知道要如何轉型 @@a : 問這個問題不知道會不會被噓.... : 各位大大多多包含 首先,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: 59.126.173.31

08/16 01:59, , 1F
安董出現了... [跪拜迎接]
08/16 01:59, 1F
文章代碼(AID): #14uWH7Vf (java)
討論串 (同標題文章)
文章代碼(AID): #14uWH7Vf (java)