实现比较器接口
问题描述:
我想制作一个比较器类来实现比较器接口。在课堂上,我想根据他们的ID比较我的两个员工对象。到目前为止我所做的员工类别是:实现比较器接口
import java.util.ArrayList;
public class Employee {
public int ID_Number;
public String Full_Name;
public double Salary;
static ArrayList<Object> employ = new ArrayList<Object>();
Employee(int id, String name, double sal){
ID_Number = id;
Full_Name = name;
Salary = sal;
}
}
我完全停留在这一点上,不知道该怎么做。任何人都可以帮忙吗?
答
下面是我的小项目DBvolution一个比较内部类:
private static class ClassNameComparator implements Comparator<Class<?>>, Serializable {
private static final long serialVersionUID = 1L;
ClassNameComparator() {
}
@Override
public int compare(Class<?> first, Class<?> second) {
String firstCanonicalName = first.getCanonicalName();
String secondCanonicalName = second.getCanonicalName();
if (firstCanonicalName != null && secondCanonicalName != null) {
return firstCanonicalName.compareTo(secondCanonicalName);
} else {
return first.getSimpleName().compareTo(second.getSimpleName());
}
}
}
这可能看起来很复杂,但它其实很简单。其基本原理是如下:
class ClassNameComparator implements Comparator<YourClass> {
ClassNameComparator() {
}
@Override
public int compare(YourClass first, YourClass second) {
if (first > second){
return 1;
} else if (first == second){
return 0;
} else return -1;
}
}
你需要与你的类来代替YourClass和更改测试更适合你的对象的东西。最后记得检查空值。
第一步的第一步...实现比较器 – Kon 2015-03-13 14:23:52
比较器在哪里? – 2015-03-13 14:38:09