Effective java筆記 通用程式設計

2021-07-30 13:40:55 字數 723 閱讀 6365

要使區域性變數的作用域最小化,最有力的方法就是在第一次使用它的地方宣告

幾乎每個區域性變數的宣告都應該包含乙個初始化表示式

不過有三種情況無法使用for-each迴圈:

1.過濾:遍歷集合並刪除指定元素,需要迭代器以便呼叫remove

2.轉換:遍歷列表或陣列,並取代它部分或全部的元素值,需要迭代器或陣列索引,以便設定元素的值

3.平行迭代:並行地遍歷多個集合

如果可以犧牲一點效能的話用bigdecimal

如果效能非常關鍵,並且你又不介意自己記錄十進位制小數點,並且所涉及的數值又不太大,可以用int或long

對裝箱基本型別運用==操作符幾乎總是錯誤的

當在一項操作中混合使用基本型別和裝箱基本型別時,裝箱基本型別就會自動拆箱,如果null物件引用被自動拆箱,就會得到乙個bullpointerexception異常

字串不適合代替其他值型別,列舉型別,聚集型別,能力表
更加靈活
反射的缺點:

1.喪失了編譯時型別檢查的好處

2.執行反射訪問所需要的**非常笨拙和冗長

3.效能損失

使用本地方法來提高效能的做法不值得提倡

《effective Java》讀後筆記

為什麼區域性變數要宣告為 final 在jdk 1.8 之前,不用final修飾會編譯報錯。在jdk 1.8 中,不用final修飾不會報錯,但是一旦改變了變數的值就會報錯 區域性類如果乙個內部類需要在多個方法之外仍然是可見的,或者是它太長了,不適合於放在方法內部,就應該使用成員類。如果成員類的每個...

Effective Java閱讀筆記

通用程式設計 將區域性變數的作用域最小化,可以增強 的可讀性和可維護性,並降低出錯的可能性。要使區域性變數的作用域最小化,最有力的方法就是在第一次使用它的地方宣告。如果變數在使用之前宣告,只會造成混亂,過早地宣告區域性變數不僅會使它的作用域擴充套件,而且結束地也過於晚了。不要重新造輪子,一般而言,類...

Effective Java 學習筆記 6

及時消除不使用的物件的引用,理論上,帶有記憶體管理的語言是不存在記憶體洩漏的,但是如果對物件的操作不當,也是可能會造成記憶體洩漏.如有乙個stack,其pop函式如下.public object pop if element.length 0 return null return element s...