面试常问之泛型
泛型定义:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊类型。
设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException(类型转换异常)。
参数化类型:
- 将类型当做参数一样进行传递
- 只能是引用类型
泛型的作用:
- 代码更加简洁【不用进行强制转换】
- 程序更加健壮【将运行时期的ClassCastException(类型转换异常)的出现提前到编译时期】
- 更好的可读性和稳定性【在编写集合的时候就可以限定类型】
ps:泛型可以用在类上或者方法上
1、用在接口上(与用在类上雷同)
public interface BaseMapper<T>{ //核心代码 }
2、用在方法上
public T selectByPrimaryKey(Integer id){ //... }