[求助]泛型之用?
1
编译了一道关于泛型的程序
出现了这样的提示:
****.java使用了未经检查或不安全的操作.
要了解详细信息,请使用Xlint:unchecked 重新编译
于是我就在命令行中重新编译
出现:
****.java:8:警告:[unchecked] 未经检查的类型使用
找到 java.lang.Object
需要 java.util.HashSet<java.lang.Integer>
temp1=(HashSet<Integer>)A.clone();
请问在什么情况下,java会出现这样的警告?
2
另外,我发现不写泛型程序是可以运行的.
比如
LinkList<String> list=new LinkList<String>();
可以写成
LinkList list=new LinkList();
只是会出现上述的警告,那么泛型除了编译时安全一点,还有什么实际用途吗?
3
像1中的情况
temp1和A 都是 HashSet<Integer>对象
现在有语句temp1=(HashSet<Integer>)A.clone();
clone方法返回的是Objet对象,必须强制转换成HashSet<Integer>,于是出现了警告
如果说泛型可以把类型转换隐含的错误提前到编译时发现,那么遇到上述这种情况时出现警告,不就突出不了它的优点了吗?这时又应该怎么办?
[此贴子已经被作者于2007-7-25 15:52:47编辑过]