社区
Java SE
帖子详情
请教高手关于泛型的问题
峰华前端工程师
前端领域优质创作者
博客专家认证
2010-03-07 11:51:24
为什么泛型不能转型呢?比如说,
List<String> list1 = new ArrayList()<String>;
List<Object> list2 = new ArrayList()<Object>;
list2 = list1; //这句话为什么会编译出错呢??请高手指导小菜!
...全文
135
9
打赏
收藏
请教高手关于泛型的问题
为什么泛型不能转型呢?比如说, List list1 = new ArrayList(); List list2 = new ArrayList(); list2 = list1; //这句话为什么会编译出错呢??请高手指导小菜!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
临碣
2010-03-07
打赏
举报
回复
泛型本来就是明确操作类型的.
你那么用还不如不用泛型呢
峰华前端工程师
2010-03-07
打赏
举报
回复
可是如果: List list3;
list3 = list1;
这样不带泛型的怎么可以转呢?不是默认也是Object吗?
stu202060510
2010-03-07
打赏
举报
回复
多态的赋值只适用于基本类型,而不是泛型参数的类型
正如:
List<Animal> list=new ArrayList<Dog>();
如果可以的话,那么list中可以装Dog对象是没错,但list同样可以装Cat。当向下转型时,你根本不不能确定list中只能装Dog,那么这也失去了定义泛型的作用了
wzju64676266
2010-03-07
打赏
举报
回复
String虽然是Object的子类,但你要把List <String> 、 List <Object>都看成单独的类型
List <String>并不是继承List <Object>,所以编译不过
lgm277531070
2010-03-07
打赏
举报
回复
引用 3 楼 fengqiuzhihua 的回复:
可是如果: List list3;
list3 = list1;
这样不带泛型的怎么可以转呢?不是默认也是Object吗?
你的list1带了泛型么
List<String> list1 = new ArrayList<String>() ;
List list2 = new ArrayList() ;
list1=list2;
这样编译会报list2未经检查的转换错误呢
soton_dolphin
2010-03-07
打赏
举报
回复
格式应该是这样的:
List <String> list1 = new ArrayList<String>();
stu202060510
2010-03-07
打赏
举报
回复
引用 3 楼 fengqiuzhihua 的回复:
可是如果: List list3;
list3 = list1;
这样不带泛型的怎么可以转呢?不是默认也是Object吗?
可能List<Object>和List是有区别的
SUN很多情况下会考虑兼容以前的代码
stu202060510
2010-03-07
打赏
举报
回复
引用 3 楼 fengqiuzhihua 的回复:
可是如果: List list3;
list3 = list1;
这样不带泛型的怎么可以转呢?不是默认也是Object吗?
可能List<Object>和List是有区别的
SUN很多情况下会考虑兼容以前的代码
zhangshan5588
2010-03-07
打赏
举报
回复
貌似泛型jdk1.5后才出现的吧 for(Object o:list){}
相关推荐
.NET
泛型
的
问题
呵呵 其实我这个ID 和allenzhang0004 allenzhang0003都是一个人。 关键是我有太多
问题
要弄明白了,所以逼不得已 注册这么多号。 正题:今天看
泛型
基本都懂了 看完肯定会有疑问的,我的疑问就是 项目里什么时候用
泛型
??? 看 了一篇BLOg 说是只要是集合类型在.NET2.0以后都可以用
泛型
去代替。。。 求证。当然是实际项目里
泛型
的使用!搞技术还是得一步一个脚印,不懂就问,也别怕别人笑你菜。 别人也是从菜变成
高手
的。 很鄙视嘴里说简单 简单 但做不出
我想
请教
一个限制重复投票php的
问题
?
我想
请教
一个限制重复投票的php
问题
?就是限制它在5分钟之内重复投票,最好是数据库型的,谢谢各位
高手
了,另外各位
高手
有没有网站流量统计的代码,这些函数都是一些不常用的函数,谢谢各位
高手
了。
第12章 模版和
泛型
你设计的两个类,除了成员变量数据类型之外,其他所有操作和实现完全相同。这些
问题
都可通过模板和
泛型
解决。面向对象所依赖的多态是运行时的多态,而
泛型
模板所依赖的多态是编译时的多态或参数式多态。本章就来讨论模板和
泛型
,也许这些议题无法保证你成为模板编程的专家,但却有可能使你会成模板编程的
高手
。
简单分析.net
泛型
中的类型参数
一位朋友询问tppeof、GetType()、is、as的
问题
,在实验的时候顺手就用
泛型
写的例子。在看Jit后的反汇编时发现了一个
问题
,clr对
泛型
参数有些特殊处理。上网查了一下没有找到介绍
泛型
参数存储的文章因此动手做了一番实验,有了些浅显的理解在此记录下来望看到此文的
高手
能给予全面的解释。 以前用
泛型
的时候没想过clr是如何处理
泛型
参数的,今天查阅了下>里面讲解了一个叫做Ge
接触
泛型
...
自己了解的一知半解,写到这上面. 我想无论怎么说,只要在编程的时候你将
泛型
应用到自己的程序中,即使你根本不知道自己为什么要用它,我想这也代表你想更深入的了解C#的编程,而并不满足将自己的程序只写到if....else的程度.不过这并不意味着你会使用
泛型
就是
高手
了,这里只是说明
泛型
是
高手
们都喜欢用的东西. 言归正传
泛型
在我理解就好比是一个袋子,可以装下任何东西.我们当然不希望用这个袋子又装好吃的...
Java SE
62,569
社区成员
307,520
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告