1. 程式人生 > >Date時間型別的變數比較方法

Date時間型別的變數比較方法

前一段時間在開發時,遇到一個時間型別的比較,以為可以向常見的變數比較方式來比較(如:a==b,a!=b),進而實現業務,後來發現是錯誤的。

java.util.Date date1=new Date();

java.util.Date date2=new Date();

if(date1!=date2){   

system.out.println("不相等");

return;

}else{

sysotem.out.println("相等");

//執行相關業務

}

理論應該是走下面else分支,但是事實上測試後,發現走的是if分支。

查了一下API文件,看到Date有兩種比較方法,compareTo,equals.

date1.equals(date2).equals引數是Object型別,也就是所有型別的基類,可接受任務型別的引數。

date.compareTo(date2)<-1,則是date1<date2

date.compareTo(date2)==0,則是date1==date2

date.compareTo(date2)>1,則是date1>date2

使用equals,compare方法來,可以得到正確的程式控制處理