Re: [問題] ArrayList的get方法
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):