[java] how to cast after clone()?
登录 | 论坛导航 -> 华新鲜事 -> 技术の宅 | 本帖共有 4 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:蚂蚁 (等级:3 - 略知一二,发帖:108) 发表:2006-04-06 02:18:50  楼主  关注此帖
[java] how to cast after clone()?

Vector<A> a= new Vector<A>();
Vector<A> b= a.clone(); //1.
Vector<A> b=(Vector) a.clone();//2.
Vector<A> b=(Vector<A>) a. clone(); //3

i have tried all the three ways of casting, but all of them will produce either an error or a warning. Can anyone suggest how to do casting in this case? thanks a lot in advance!

少上网
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:蚂蚁 (等级:3 - 略知一二,发帖:108) 发表:2006-04-07 04:20:04  2楼
我试了,第三个可以啊[atp@gateway ~]$ cat aaa.java import java.util.Vector; public class aaa {   public static void main (String [] s)   {     Vector a = new Vector();     a.add("hi");     Vector b = (Vector)a.clone();     System.out.println(b);   } } [atp@gateway ~]$ javac aaa.java Note: aaa.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. [atp@gateway ~]$ java aaa [hi] [atp@gateway ~]$ 
多谢!第三个是可以,不过
还是有
Note: aaa.java uses unchecked or unsafe operations
难道就没有办法可以避免吗?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:蚂蚁 (等级:3 - 略知一二,发帖:108) 发表:2006-04-07 04:21:38  3楼
what is Vector for?Vector[]? (more...)
就是说这个vector里面放的都是A这个class的object
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:蚂蚁 (等级:3 - 略知一二,发帖:108) 发表:2006-04-08 03:10:46  4楼
Leave itthis warning message just shows that compiler cannot assure correctness of this casting operation as clone() method returns type of object. It is really programmer's responsibility to avoid any casting failure.
总是觉得compile之后还有一行字,看起来实在是很不爽!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 技术の宅 | 返回上一页 | 本主题共有 4 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码