我想创建一个通用列表,它使用.compareTo()
类型的方法对输入的项目进行排序。但是,我在第一行遇到了问题。由于类型必须是implements Comparable<T>
,有没有办法强制执行?我想语法:有没有办法使用Java中的接口来绑定泛型类型?
public class GenList<T implements Comparable<T>>{
//Class body.
}
将无法正常工作。有什么建议么?提前致谢!
我想创建一个通用列表,它使用.compareTo()
类型的方法对输入的项目进行排序。但是,我在第一行遇到了问题。由于类型必须是implements Comparable<T>
,有没有办法强制执行?我想语法:有没有办法使用Java中的接口来绑定泛型类型?
public class GenList<T implements Comparable<T>>{
//Class body.
}
将无法正常工作。有什么建议么?提前致谢!
我知道这是一个有点反直觉的,但对于这个你写extends
而非implements
:
public class GenList<T extends Comparable<T>>{
//Class body.
}
(请注意,我也改变了?
到T
,我认为这是你的意思是什么?答参考可有型GenList<?>
,或键入GenList<? extends Comparable<String>>
,或诸如此类的东西,但它没有意义的声明类本身采取通配符参数。)
你的意思是像
public class GenList<T extends Comparable<T>>{
//Class body.
}
您是否先尝试过这种语法? – Swapnil
您可以使用'Collections.sort(list)'对任何List进行排序,不需要执行任何操作。 –
Subin
不,它只是一个编程挑战。 –