锁定老帖子 主题:Object数组到泛型数组转换的伪解决方案
精华帖 (11) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-02
最后修改:2009-02-02
是我理解错了,java1.5的泛型跟xxx语言的泛型不一样
只是一个syntax sugar,只存在于编译期,强制转型其实还是存在的“伪泛型”。 |
|
返回顶楼 | |
发表时间:2009-02-02
数组并不适合泛型...集合忧郁数组....
|
|
返回顶楼 | |
发表时间:2009-02-04
泛型可以使用数组呀,网上怎么有好多人说java泛型不支持数组??
|
|
返回顶楼 | |
发表时间:2009-02-06
最后修改:2009-02-06
c.toArray(new T[0]); 返回是传入参数本身,你拿个0长度数组来return 肯定不行吧。
|
|
返回顶楼 | |
发表时间:2009-02-12
最后修改:2009-11-27
|
|
返回顶楼 | |
发表时间:2009-02-16
留个标记回家看,公司用普元的EOS做开发,JDK是1.4的,泛型用不上,郁闷
|
|
返回顶楼 | |
发表时间:2009-03-16
c.toArray((T[])new Object[0] ); 就可以了.
|
|
返回顶楼 | |
发表时间:2009-03-19
rmn190 写道 c.toArray((T[])new Object[0] ); 就可以了.
发现我前些天用的方法有问题, 报异常了: Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; at serializable.TryGeneric.main(TryGeneric.java:16) 实验用代码如下: import java.util.ArrayList; import java.util.Date; import java.util.List; public class TryGeneric { @SuppressWarnings("unchecked") public static void main(String[] args) { Date now = new Date(); List list = new ArrayList(); list.add(now); Date[] results = (Date[]) convertToArray(list); } @SuppressWarnings("unchecked") private static <T> T[] convertToArray(List<T> list) { return list.toArray((T[])new Object[0] ); } } |
|
返回顶楼 | |