作者tkcn (小安)
看板java
标题Re: [问题] ArrayList的get方法
时间Wed Aug 16 01:55:03 2006
※ 引述《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
1F:推 PsMonkey:安董出现了... [跪拜迎接] 08/16 01:59