【发布时间】:2013-02-17 20:32:28
【问题描述】:
我正在尝试制作一个可以采用任何类型的元素进行比较的比较器。我不确定如何创建课程。我只是想让它比较两个相同类型的元素(但无论客户端给它什么类型,例如:Integer、String、Double 等),看看哪个大于另一个。
public class InsertionComparator implements Comparator<T>
{
/**
* Compares two elements.
*
* @param f1 The first element you want to compare.
* @param f2 The second element you want to compare.
* @return -1,0,1 Whether or not one is greater than, less than,
* or equal to one another.
*/
public int compare(<T> element1,<T> element2)
{
if(element1 < element2)
{
return -1;
}
else
{
if(element1 > element2)
{
return 1;
}
else
{
return 0;
}
}
}
}
请帮忙,谢谢!
【问题讨论】:
-
对于初学者,您有几个语法错误。尝试阅读Generics in Java article。它可以让你自己解决这个问题和任何以下问题,因为它解释了什么是泛型以及如何很好地使用它们。
-
你到底需要这个做什么?我觉得这不是你真正的问题。
-
这是否用于用户输入的数据,例如数字、日期和字母?比较器可用于任何 Java 类,例如将一个窗口与另一个窗口进行比较,因此您的问题看起来有点宽泛,请具体说明。
-
不合理的关闭是怎么回事?这是一个完全合法的问题,我没有看到“过于本地化”的问题。真的。
标签: java generics types comparator