实现比较器接口

问题描述:

我想制作一个比较器类来实现比较器接口。在课堂上,我想根据他们的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; 
} 

} 

我完全停留在这一点上,不知道该怎么做。任何人都可以帮忙吗?

+3

第一步的第一步...实现比较器 – Kon 2015-03-13 14:23:52

+0

比较器在哪里? – 2015-03-13 14:38:09

下面是我的小项目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和更改测试更适合你的对象的东西。最后记得检查空值。