天天看點

面試常問之泛型

泛型的闡述

泛型定義:把類型明确的工作推遲到建立對象或調用方法的時候才去明确的特殊類型。

設計原則:隻要在編譯時期沒有出現警告,那麼運作時期就不會出現ClassCastException(類型轉換異常)。

參數化類型:

  1. 将類型當做參數一樣進行傳遞
  2. 隻能是引用類型

泛型的作用:

  1. 代碼更加簡潔【不用進行強制轉換】
  2. 程式更加健壯【将運作時期的ClassCastException(類型轉換異常)的出現提前到編譯時期】
  3. 更好的可讀性和穩定性【在編寫集合的時候就可以限定類型】

ps:泛型可以用在類上或者方法上

1、用在接口上(與用在類上雷同)

public interface BaseMapper<T>{
     //核心代碼      
}      

2、用在方法上

public T selectByPrimaryKey(Integer id){
    //...
}