如何表达类型T必须是U型?

jwl*_*jwl 1 java generics java-7 java-8

Java泛型是否有办法告诉编译器类型T必须是类型U?例如

public class Whatever<T, U> {

    T specific;
    U moreGeneral;

}
Run Code Online (Sandbox Code Playgroud)

现在,我想确保T是其子类U.有没有办法指定这个?

Dic*_*ici 8

简单地使用

public class Whatever<T extends U,U>
Run Code Online (Sandbox Code Playgroud)

  • @kuriouscoder 1.5?你没找到旧版本吗?:d (2认同)
  • 还有另一篇与此相关的帖子:http://stackoverflow.com/questions/13501836/possible-java-compiler-bug-program-does-not-compile-with-some-compilers和http://stackoverflow.com/ questions/5201687/forward-reference-of-type-parameter-in-java-generics显然,它已在JDK 1.7中修复 (2认同)