这些接口是非常简单的:在从属接口上强制实施参数类型?
public interface Thawed<F>
{
F freeze();
}
public interface Frozen<T>
{
T thaw();
}
这工作,没有任何问题。
但现在,我怎么会需要Thawed
F
实施Frozen
和T
在Frozen
实现Thawed
?
我能得到的最接近的是:
public interface Thawed<F extends Frozen<? extends Thawed<F>>>
public interface Frozen<T extends Thawed<? extends Frozen<T>>>
但是,这听起来很递归......(还与Thawed<?>
和Frozen<?>
)
是的,使用它的类都是“最终”的 - 在我的代码,至少。当其他人使用它时,不能保证这一点;)谢谢你清除我的疑惑! – fge
@fge:第二个想法,你可以比这更好。 – SLaks