黑马程序员技术交流社区
标题:
泛型练习题的方法验证
[打印本页]
作者:
张 涛
时间:
2012-9-13 10:59
标题:
泛型练习题的方法验证
张老师讲的泛型中有几个练习题,这是第一题,写的很简单,但如何验证呢,我用了两种方式,都遇到了问题。
代码:
public static void main(String[] args) throws Exception, NoSuchMethodException {
//第一种验证,打印出的是Vector。不是已经转换了吗?
List l = toObgect(new Vector());
System.out.println(l.getClass().getName());
//第二种验证,无法把object转化为string,报错,难道不能由父类强转为子类,只能由子类转为父类吗?
String s = toObgect(new Object());
System.out.println(s.getClass().getName());
}
//转化方法
public static <T> T toObgect(Object o){
return (T)o;
}
复制代码
作者:
彭润生
时间:
2012-9-13 11:28
父类持有子类的引用才能强转为子类,多态,toObgect(new Object());这个是Object类型的需要强制转换才能付给String 这样因该可以了String s = (String)toObgect(new Object());你在试试
作者:
李菁
时间:
2012-9-13 14:46
你Object没有初始化一个值
这样写就可以把Object转成String
import java.util.List;
import java.util.Vector;
public class Test {
public static void main(String[] args)throws Exception {
List l = toObgect(new Vector());
System.out.println(l.getClass().getName());
//第二种验证,无法把object转化为string,报错,难道不能由父类强转为子类,只能由子类转为父类吗?
Object o="abc";
String s = toObgect(o);
System.out.println(s.getClass().getName());
}
public static <T> T toObgect(Object o){
return (T)o;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2