當集合或陣列內的物件需要排序時,會利用Collections.sort或Arrays.sort來進行排序,通常會implement Comparable,來實現自定義排序,透過回傳值來表示排序的大小。
2014-06-10
當集合或陣列內的物件需要排序時,會利用Collections.sort或Arrays.sort來進行排序,通常會implement Comparable,來實現自定義排序,透過回傳值來表示排序的大小。
Object class中,也定義了toString()這個方法,因此所有的class也都繼承這個方法。預設是傳回這個物件完整類別名稱,後面接一個"@",及一個不帶正副號的十六進制hash碼。
雖然我們已經有了測試程式,但是如何得知是否已完整測試了主程式?,透過Code Coverage代碼涵蓋率,我們可以快速地得知,目前系統中,有多少程式中被測試過,不考量成本跟投資效益比,涵蓋率越高,代表系統如預期正常運作的面向也越廣泛。
hashCode()這個方法,也是定義在Object class中,這個是所有class的base class,因此所有的class也都繼承這個方法,預設是傳回這個物件儲存的記憶體位址編號,因為Mix覆寫了equals(),所以也應該一併覆寫hashCode(),Effective Java中推薦的實現方式如下:
equals()這個方法,定義在Object class中,這個是所有class的base class,因此所有的class都繼承這個方法,預設是比較內存位址,不過Mix需要的是商務邏輯上的比較,所以會覆寫equals()。