标签:style blog color java io strong for ar div
1 class Person1 implements Comparable <Person1>{ 2 private Float height; 3 private String name; 4 5 Person1(float height) 6 { 7 this.height=height; 8 } 9 10 public Float getHeight() { 11 return height; 12 } 13 14 public void setHeight(float height) { 15 this.height = height; 16 } 17 18 public String getName() { 19 return name; 20 } 21 22 public void setName(String name) { 23 this.name = name; 24 } 25 26 @Override 27 public int compareTo(Person1 p) { 28 if(this.getHeight()<p.getHeight()){ 29 return 1; 30 31 }else if(this.getHeight()>p.getHeight()){ 32 return -1; 33 }else{ 34 return 0; 35 } 36 37 } 38 } 39 40 41 public class Question3_1 { 42 43 public static void main(String[] args) { 44 Person1 p1=new Person1(23.4f); 45 p1.setName("Stud1"); 46 Person1 p2=new Person1(2.34f); 47 p2.setName("Stud2"); 48 Person1 p3=new Person1(34.32f); 49 p3.setName("Stud3"); 50 Person1 p4=new Person1(56.45f); 51 p4.setName("Stud4"); 52 Person1 p5=new Person1(21.4f); 53 p5.setName("Stud5"); 54 55 56 TreeSet<Person1> al=new TreeSet<Person1>(); 57 al.add(p1); 58 al.add(p2); 59 al.add(p3); 60 al.add(p4); 61 al.add(p5); 62 63 65 for(Person1 p:al) 66 System.out.println(p.getName()+" "+p.getHeight()); 67 68 } 69 70 }
结果:
Stud4 56.45
Stud3 34.32
Stud1 23.4
Stud5 21.4
Stud2 2.34
TreeSet 中的对象时自定义对象时,需实现Comparable 接口
Exception in thread "main" java.lang.ClassCastException: com.cn.aug26.Person1 cannot be cast to java.lang.Comparable
at java.util.TreeMap.compare(TreeMap.java:1188)
at java.util.TreeMap.put(TreeMap.java:531)
at java.util.TreeSet.add(TreeSet.java:255)
at com.cn.aug26.Question3_1.main(Question3_1.java:64)
标签:style blog color java io strong for ar div
原文地址:http://www.cnblogs.com/thrive/p/3938074.html