2015-03-13 116 views
-5

我想製作一個比較器類來實現比較器接口。在課堂上,我想根據他們的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

回答

1

下面是我的小項目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和更改測試更適合你的對象的東西。最後記得檢查空值。