我想创建一个具有两个参数的类。一个应该被简单地键入为T.另一个应该被键入为扩展T和SomeInterface<T>
的东西。当我尝试这与在Java中扩展T和SomeInterface <T>
public class SomeClass<T, S extends SomeInterface<T> & T>
那么Java与
抱怨“的类型T是不是一个接口;它不能被指定为一个有界参数”
和如果相反,我试图创建一个接口S采用
public interface TandSomeInterface<T> extends SomeInterface<T>, T
那么Java抱怨与
“不能将类型参数T称为超类型”
有什么方法可以在Java中执行此操作吗?我认为你可以用C++做... ...?
需要注意的是C++模板很多比Java泛型更强大。仅仅因为它可以用C++来完成,并不意味着它可以用Java来完成。 – 2010-03-30 08:35:00
相关:http://stackoverflow.com/a/13261667/697449 – 2013-01-23 03:25:51