Han*_*set 5 java generics interface
我不认为这是一个副本检查通用T是否实现了接口,但它可能是(??).
所以,我想创建一个通用接口,只允许实现两个接口的对象.相似的是一个costum接口.
public interface AbstractSortedSimpleList<T extends Comparable<T>, Alike> {}
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,Java现在会尝试创建一个通用接口AbstractSortedSimpleList<T,Alike>,这不是我想要实现的.我想要AbstractSortedSimpleList<T>T必须实现两者Comparable<T>和Alike.
后来,我想创建一个新课程
public class SortedSimpleList<T> implements AbstractSortedSimpleList<T> {}
Run Code Online (Sandbox Code Playgroud)
这里的要点是创建一个class SortedSimpleList<T>T必须实现上述接口的地方.但我的代码似乎不能很好地工作.
您可以为类型参数提供多个边界:
public interface AbstractSortedSimpleList<T extends Comparable<T> & Alike>
Run Code Online (Sandbox Code Playgroud)
那么,你SortedSimpleList会是这样的:
class SortedSimpleList<T extends Comparable<T> & Alike> implements AbstractSortedSimpleList<T> {}
Run Code Online (Sandbox Code Playgroud)
声明为类型参数的每个类型变量都有一个绑定.如果没有为类型变量声明绑定,则假定为Object.如果声明了绑定,则它包含:
单个类型变量T,或
类或接口类型T可能后跟接口类型I1&...&In.
注意:
但是,您不能拥有通配符的这种多重边界.它仅适用于类型参数.
参考文献:
使用&符号的一些通用边界
interface AbstractSortedSimpleList<T extends Comparable<T> & Alike> {
Run Code Online (Sandbox Code Playgroud)
请参阅此处的多边界官方Java教程.