-
在序列化類中不使用建構函式為final變數賦值
-
手動替換class檔案不可取(靜態變數修改後需編譯後才會修改)
-
用偶數判斷不用奇數判斷
-
重要的數字入參需要判斷邊界
-
BigDecimal 使用String構造引數為最優選擇
-
包裝型別使用euqals方法比較是否是相等 或者用轉化為基本型別比較(大小會根據相關的方法比較)
-
包裝類都是採用valueOf()方法轉換的 其中-128-127都是從快取從取的不會再堆上產生新的物件。
-
(java9 廢除包裝類相關基本型別的構造器,改用靜態方法ValueOf替代)
-
一般情況最好不要重寫父類靜態方法(當然如果你能區分表明型別和實際型別,你可以試試)。Idea IDE中你需要手動重寫
-
@Override 註解也無法作用在靜態方法上的。
-
不使用例項訪問靜態方法,這是程式碼的壞味道。還是用類名訪問吧。
-
建構函式儘量簡單。這裡的簡單的意思是不要在其中做複雜的初始化程式碼。(呼叫其他方法或者其他類的構造器、為final變數賦值等)
-
在面嚮物件語言中,除非非常瞭解類的執行過程,否則還是嘗試簡潔明瞭的方式構建程式碼結構。
-
靜態程式碼塊會再建構函式內首先執行(如果建構函式中有this和super這兩個關鍵字,
-
靜態程式碼塊是不會插入到這個建構函式前執行的,確保每個建構函式只執行一次靜態程式碼塊)。作用一般為例項化變數和例項化環境。
-
內部類實現多繼承
-
避免淺拷貝
-
工具類最好使用final來避免繼承 構造器私有化
-
儘可能的使用區域性變數
-
中文排序Collator類
-
基本型別優先使用
-
集合初始化的時候非常有必要宣告容量
-
最值計算時使用集合最簡單,使用陣列效能最優
-
Arrays 只使用只讀列表操作
-
不同的集合採用不同的遍歷方法。隨機訪問 無序儲存的使用fori 有序的使用foreach 或者迭代器
-
列表相等(equals) 只關心資料元素
-
subList方法生成子列表時,原始列表保持只讀狀態
-
利用好集合replaceAll 等方法能優雅實現集合的去重(注意集合的淺拷貝)
-
switch case 判斷值是否為空
-
列舉使用的valueOf時候前 校驗時候存在該種列舉的值
-
列舉最好使用工廠方式
-
反射效率低是個真命題,但因此而不使用它就是個假命題
-
final塊中不要出現return 語句
-
建構函式裡不要丟擲異常
-
異常只為異常服務,不能用來作為正常的主邏輯(除非真的無法避免)
-
try catch 雖然效能比較慢 但是不能做為拒絕異常的理由
-
執行緒的優先順序推薦使用MIN_PRIORITY(1) NORM_PRIORITY(5) MAX_PRIORITY(10) 級別 不建議使用其他的7個數字
-
Optional可以避免空指標異常和減少if else邏輯 不可直接呼叫ifParent()
-
// 1.傳統if-else if (person != null) { if (person.getCar() != null) { if (person.getCar().getInsurance() != null) { insurance = person.getCar().getInsurance().getName(); } } } // 2.optional 優化寫法 String unknown = Optional.ofNullable(person) .map(Person::getCar) .map(Car::getInsurance) .map(Insurance::getName) .orElse("Unknown"); 複製程式碼
-
Java程式碼建議
相關文章
- JAVA程式碼編寫的30條建議 .Java
- JAVA程式碼編寫的30條建議Java
- JAVA程式碼編寫的30條建議(轉)Java
- Go 程式碼審查建議Go
- 助您寫出優雅的Java程式碼七點建議Java
- Java中提升效能對程式碼作的建議(轉Mark)Java
- JAVA優質程式碼編寫的30條可行建議Java
- 編寫高質量程式碼:改善Java程式的151個建議(第4章:字串___建議52~55)Java字串
- 編寫高質量程式碼:改善Java程式的151個建議(第4章:字串___建議56~59)Java字串
- 學習Java程式設計的建議Java程式設計
- 讀改善c#程式碼157個建議:建議1~3C#
- 讀改善c#程式碼157個建議:建議4~6C#
- 讀改善c#程式碼157個建議:建議7~9C#
- 讀改善c#程式碼157個建議:建議10~12C#
- 讀改善c#程式碼157個建議:建議13~15C#
- 編寫高質量程式碼:改善Java程式的151個建議(第2章:基本型別___建議21~25)Java型別
- 編寫高質量程式碼:改善Java程式的151個建議(第2章:基本型別___建議26~30)Java型別
- 編寫高質量程式碼:改善Java程式的151個建議(第7章:泛型和反射___建議93~97)Java泛型反射
- 編寫高質量程式碼:改善Java程式的151個建議(第5章:陣列和集合___建議60~64)Java陣列
- 編寫高質量程式碼:改善Java程式的151個建議(第5章:陣列和集合___建議65~69)Java陣列
- 編寫高質量程式碼:改善Java程式的151個建議(第5章:陣列和集合___建議70~74)Java陣列
- 編寫高質量程式碼:改善Java程式的151個建議(第5章:陣列和集合___建議75~78)Java陣列
- 編寫高質量程式碼:改善Java程式的151個建議(第5章:陣列和集合___建議79~82)Java陣列
- 編寫高質量程式碼:改善Java程式的151個建議(第3章:類、物件及方法___建議41~46)Java物件
- 編寫高質量程式碼:改善Java程式的151個建議(第3章:類、物件及方法___建議47~51)Java物件
- 編寫高質量程式碼:改善Java程式的151個建議(第3章:類、物件及方法___建議31~35)Java物件
- 編寫高質量程式碼:改善Java程式的151個建議(第3章:類、物件及方法___建議36~40)Java物件
- 程式碼簡潔的十條建議
- 常用 CSS 程式碼片段集合,建議收藏CSS
- java程式設計的一些建議Java程式設計
- 《編寫高質量程式碼:改善Java程式的151個建議》筆記Java筆記
- Java學習建議Java
- 編寫高質量程式碼:改善Java程式的151個建議(第6章:列舉和註解___建議83~87)Java
- 編寫高質量程式碼:改善Java程式的151個建議(第6章:列舉和註解___建議88~92)Java
- 編寫高質量程式碼:改善Java程式的151個建議(第8章:異常___建議110~113)Java
- 編寫高質量程式碼:改善Java程式的151個建議(第8章:異常___建議114~117)Java
- 編寫高質量程式碼:改善Java程式的151個建議(第1章:JAVA開發中通用的方法和準則___建議1~5)Java
- 編寫高質量程式碼:改善Java程式的151個建議(第1章:JAVA開發中通用的方法和準則___建議6~10)Java