在一个接口中,我首先声明一个扩展接口的泛型,然后是一个扩展第一个泛型和另一个接口的泛型
In an interface, I first declare a generic that extends an interface, then a generic that extends the first generic along with another interface
例如,
public interface Foo<T extends Blackness, S extends T & Whiteness> { }
错误:类型参数后面不能跟其他边界
T 扩展了 Blackness,S 扩展了 T,因此 S 本质上扩展了 Blackness。唯一的其他偶然事件是 S 还必须扩展 Whiteness。由于此限制,S 必须是 T 的扩展,但也必须实现 Whiteness 的功能。因此,您可能必须提供类型 T
。 S 不可能有多个有界类型,这就是为什么需要 sub-interface 来实现这两种类型。你正在尝试做的事情没有逻辑意义。 Refer to this.
public interface Foo<T extends Blackness, S extends BlackAndWhiteness<T>> {
}
public interface BlackAndWhiteness<T extends Blackness> extends Whiteness, Blackness {
}
interface Blackness {
}
interface Whiteness {
}
例如,
public interface Foo<T extends Blackness, S extends T & Whiteness> { }
错误:类型参数后面不能跟其他边界
T 扩展了 Blackness,S 扩展了 T,因此 S 本质上扩展了 Blackness。唯一的其他偶然事件是 S 还必须扩展 Whiteness。由于此限制,S 必须是 T 的扩展,但也必须实现 Whiteness 的功能。因此,您可能必须提供类型 T
。 S 不可能有多个有界类型,这就是为什么需要 sub-interface 来实现这两种类型。你正在尝试做的事情没有逻辑意义。 Refer to this.
public interface Foo<T extends Blackness, S extends BlackAndWhiteness<T>> {
}
public interface BlackAndWhiteness<T extends Blackness> extends Whiteness, Blackness {
}
interface Blackness {
}
interface Whiteness {
}