【发布时间】:2013-04-14 03:24:39
【问题描述】:
我是 java 新手,我并没有真正了解如何使用比较器接口。
我在Inventory 类和Item 类中有Items 中的ArrayList。
在Item 类中我写道:
public class Item implements Comparator<Item> {
//stuff
...
@Override
public int compare(Item a, Item b) {
if (a.getID().compareToIgnoreCase(b.getID())>0)
return 1;
else if (a.getID().compareToIgnoreCase(b.getID())<0)
return -1;
else
return 0;
}
}
getID() 方法只给出了 id,我必须用它来按字母顺序排列项目。
我不确定这是否正确,它让我放了@Override 注释,我不知道为什么。我还写了一个界面,上面写着:
public interface Comparator<Item>
{
int compare(Item a, Item b);
}
我不确定那一点。另外我如何实现这个方法来对库存类中创建的arraylist进行排序?
谢谢,如果我的问题没有意义或需要澄清,请告诉我。
【问题讨论】:
-
等等,你的
Item类实现了Comparator,它的定义需要一个通用的Item才能工作。看来你这里不需要通用接口... -
泛型接口是什么意思?
-
@bassandguitar,老兄,检查我更新的答案。我想这就是你想要的。
标签: java interface sorting comparator