为何这样强转却不行?

图片说明

为何下面强转允许上面的不允许?

回答

首先,你的泛型T没有意义,你的List<Class<Integer>>已经限定死了,第二ts1方法返回的是Class类对象。泛型不能滥用,否则使用过程不仅会出错,还会造成其他一些不可预知的事情。泛型你可以看做他就是Object类型,他只是为了约束为某一类型而存在的

public class Test<T> {

public List<Class<T>> ts(T t){

List<Class<T>> classes = new ArrayList<>();// java8 开始后面可以不用声明

classes.add((Class<T>) t.getClass());

return classes;

}

}

以上是 为何这样强转却不行? 的全部内容, 来源链接: utcz.com/a/37855.html

回到顶部