2012-12-22 116 views
2

我想创建一个通用列表,它使用.compareTo()类型的方法对输入的项目进行排序。但是,我在第一行遇到了问题。由于类型必须是implements Comparable<T>,有没有办法强制执行?我想语法:有没有办法使用Java中的接口来绑定泛型类型?

public class GenList<T implements Comparable<T>>{ 
//Class body. 
} 

将无法​​正常工作。有什么建议么?提前致谢!

+0

您是否先尝试过这种语法? – Swapnil

+0

您可以使用'Collections.sort(list)'对任何List 进行排序,不需要执行任何操作。 – Subin

+0

不,它只是一个编程挑战。 –

回答

3

我知道这是一个有点反直觉的,但对于这个你写extends而非implements

public class GenList<T extends Comparable<T>>{ 
//Class body. 
} 

(请注意,我也改变了?T,我认为这是你的意思是什么?答参考可有型GenList<?>,或键入GenList<? extends Comparable<String>>,或诸如此类的东西,但它没有意义的声明类本身采取通配符参数。)

0

你的意思是像

public class GenList<T extends Comparable<T>>{ 
//Class body. 
} 
相关问题