public class Student implements Comparable<Student> {
private String grd;
private String nm;
@Override
public boolean equals(Object obj) {
Student objStudent = (Student) obj;
if (StringUtil.equals(this.getGrd(), objStudent.getGrd())
&& StringUtil.equals(this.getNm(), objStudent.getNm())) {
return true;
}
return false;
}
@Override
public int compareTo(Student o) {
if (this.getGrd().compareTo(o.getGrd()) > 0) {
return 1;
} else if (this.getGrd().compareTo(o.getGrd()) < 0) {
return -1;
} else {
if (this.getNm().compareTo(o.getNm()) > 0) return 1;
if (this.getNm().compareTo(o.getNm()) < 0) return -1;
return 0;
}
}
public static void main(String[] args) throws CloneNotSupportedException {
Student student1 = new Student("4", "4홍길동");
Student student2 = new Student("4", "4김길동");
Student student3 = new Student("1", "1홍길동");
Student student4 = new Student("1", "1김길동");
String std5 = "AAA";
String std6 = "AAA";
String std7 = new String("AAA");
String std8 = new String("AAA");
System.out.println(System.identityHashCode(std5));
System.out.println(System.identityHashCode(std6));
System.out.println(System.identityHashCode(std7));
System.out.println(System.identityHashCode(std8));
System.out.println("~~~~~~~~~~~~~~~~~~");
int cmpr = student1.compareTo(student2);
if (cmpr > 0) {
System.out.println("student grd가 studnet2 grd보다 큽니다.");
} else if (cmpr == 0) {
System.out.println("student grd가 studnet2 grd 와 똑같습니다.");
} else if (cmpr < 0) {
System.out.println("student grd가 studnet2 grd보다 작습니다.");
}
ArrayList<Student> list = new ArrayList<Student>();
list.add(student1);
list.add(student2);
list.add(student3);
list.add(student4);
Collections.sort(list);
for (Student student_ : list) {
System.out.println(student_.toString());
}
System.out.println("~~~~~~~~~~~~~~~~~~~~~~");
for (Student s : list) {
if (s.getNm().contains("김")) {
System.out.println(s);
}
}
}