接口命名規範
- 業界常見前綴
I(如 IUserService),但非強制。
- 命名通常為大寫開頭的名詞或形容詞,體現能力(如
Serializable、Runnable)。
泛型的作用
- 類型參數化:編譯期不指定具體類型,運行時確定,實現代碼復用。
- 類型安全:避免強制轉換錯誤,編譯期檢查。
- 邊界限定:通過
<T extends Number> 限制類型範圍。
- 反射場景:框架開發中廣泛使用(如 MyBatis Mapper、Spring BeanFactory)。
包裝類型應用場景
- 自動裝箱/拆箱:JDK 1.5+ 編譯器自動處理基本類型與包裝類型轉換。
- 集合框架:泛型集合只能存放對象,基本類型必須用包裝類型(如
List<Integer>)。
- 數據庫映射:POJO/VO 字段建議用包裝類型(
Integer 而非 int),避免 null 值映射為 0 導致業務誤判。
- 泛型參數:泛型實際類型參數只能是引用類型。
總結
接口定義契約,泛型提升復用與安全,包裝類型橋接基本類型與對象體系,三者協同構建靈活健壯的 Java 類型系統。