为什么这种通用边界在Java中是非法的?

时间:2018-05-15 10:10:01

标签: java generics

想象一下,我扩展了List接口,添加了一个方法,如下所示:

public interface MyList<E> extends List<E> {

    <R super E> MyList<R> castTo(Class<R> klass);

}

为什么这是非法的?我只是以错误的方式做这件事,因为你一定能够做到这一点。

例如我想做类似以下的事情:

MyList<? extends X> someList = // list from somewhere
MyList<X> xs = someList.castTo(X.class)

0 个答案:

没有答案