噢,它明白了,河水既沒有牛伯伯說的那么淺,也沒有小松鼠說的那么深,只有親自試過才知道。 ---寓言故事《小馬過河》 數據處理是每種語言必備的功能,Java更甚之,數據集可以允許重復 ...
建議 :集合中的元素必須做到compareTo和equals同步 實現了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必須實現的,它與equals方法有關系嗎 有關系,在compareTo的返回為 時,它表示的是 進行比較的兩個元素時相等的。equals是不是也應該對此作出相應的動作呢 我們看如下代碼: 我們把多個城市對象放在一個list中,然后使用 ...
2016-09-23 10:45 2 1306 推薦指數:
噢,它明白了,河水既沒有牛伯伯說的那么淺,也沒有小松鼠說的那么深,只有親自試過才知道。 ---寓言故事《小馬過河》 數據處理是每種語言必備的功能,Java更甚之,數據集可以允許重復 ...
建議79:集合中的哈希碼不要重復 在一個列表中查找某值是非常耗費資源的,隨機存取的列表是遍歷查找,順序存儲的列表是鏈表查找,或者是Collections的二分法查找,但這都不夠快,畢竟都是遍歷嘛,最快的還要數以Hash開頭的集合(如HashMap、HashSet等類)查找 ...
建議65:避開基本類型數組轉換列表陷阱 我們在開發中經常會使用Arrays和Collections這兩個工具類和列表之間轉換,非常方便,但也有時候會出現一些奇怪的問題,來看如下代碼: 也許你會說,這很簡單,list變量的元素數量當然是5了。但是運行后打印出來的列表數量 ...
建議70:子列表只是原列表的一個視圖 List接口提供了subList方法,其作用是返回一個列表的子列表,這與String類subSting有點類似,但它們的功能是否相同呢?我們來看如下代碼: c1是通過ArrayList的構造函數創建的,c2是通過列表的subList ...
泛型可以減少強制類型的轉換,可以規范集合的元素類型,還可以提高代碼的安全性和可讀性,正式因為有這些優點,自從Java引入泛型后,項目的編碼規則上便多了一條:優先使用泛型。 反射可以“看透” 程序的運行情況,可以讓我們在運行期知曉一個類或實例的運行狀況,可以動態的加載和調用,雖然有一定 ...
枚舉和注解都是在Java1.5中引入的,雖然它們是后起之秀,但其功效不可小覷,枚舉改變了常量的聲明方式,注解耦合了數據和代碼。 建議83:推薦使用枚舉定義常量 常量聲明是每一個項目都不可或缺的,在Java1.5之前,我們只有兩種方式的聲明:類常量和接口常量,若在項目 ...
建議106:動態代理可以使代理模式更加靈活 Java的反射框架提供了動態代理(Dynamic Proxy)機制,允許在運行期對目標類生成代理,避免重復開發。我們知道一個靜態代理是通過主題角色(Proxy)和具體主題角色(Real Subject)共同實現主題角色(Subject)的邏輯 ...
建議26:提防包裝類型的null值 我們知道Java引入包裝類型(Wrapper Types)是為了解決基本類型的實例化問題,以便讓一個基本類型也能參與到面向對象的編程世界中。而在Java5中泛型更是對基本類型說了"不",如果把一個整型放入List中,就必須使用Integer包裝類 ...