作者spiderman007 (千里之外)
看板java
标题[问题] 有关comparable 中判断式的问题?
时间Tue Sep 6 11:19:04 2011
import java.util.*;
class Book implements Comparable<Book>{
String name;
Double price;
public Book(String s, double p){
this.name=s;
this.price=p;
}
public int compareTo(Book obj){
-> if((this.price) == (obj.price) ){
->
// if((this.price - obj.price) == 0){
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
上下两行的比较? 有不同吗? 为何上行印出的资料少一笔呢?
return this.name.compareTo(obj.name);
}
return this.price.compareTo(obj.price);
}
public void show(){
System.out.println(name);
System.out.println(price);
}
}
class TreeSetEx{
public static void main(String[] args){
TreeSet<Book> tset = new TreeSet<Book>();
Book book2 = new Book("SCJP认证手册",600.0);
Book book3 = new Book("VB2008程式设计",600.0);
Book book1 = new Book("Java程式手册",580.0);
tset.add(book1);
tset.add(book2);
tset.add(book3);
System.out.println("书籍资讯如下:");
System.out.println("---------------------------");
for(Book b : tset){
b.show();
System.out.println("---------------------------");
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.151.172
1F:→ tomap41017:我猜跟浮点数精确度有关? 09/06 17:48
2F:→ dou0228:楼上正解! 09/06 21:07