【发布时间】:2013-09-24 09:11:59
【问题描述】:
【问题讨论】:
【问题讨论】:
表示一个R类型的类,实现了接口TableRecord<R>
TableRecord<R>表示接口绑定了同一个类型的R。
一个例子是这样的类:
public class Bla implements TableRecord<Bla>
我承认这看起来有点奇怪,但 Java 泛型并没有真正区分 extends 和 implements,这会导致一些混乱。
至于为什么这个确切的定义,我对上下文的了解不够,无法确切了解它为什么有意义,但这可能是由于接口上的方法签名返回R 类型的对象(想想工厂):
public R createTableRecord(...);
【讨论】:
class SomeClass<R extends TableRecord<R>>
这意味着参数类型R 必须是TableRecord <R> 的子类,仅此而已,即您必须使用类
class Foo extends TableRecord <Foo>
作为定义你的类的参数SomeClass
【讨论】: