标签:object 基本类型 ble 其他 com pre 多个 基本 override
类型参数化,模板化编程,简化编程
java的泛型参数在运行时会进行类型擦除,擦除后就是object,编译器也会转成object进行编译
那么为啥使用泛型呢?
最常用的容器类比如List
泛型类
class Pair2<U, T>{
private U u;
private T t;
Pair2(U u, T t){
this.u = u;
this .t = t;
}
}
泛型方法
public <T> A test(T t, T t2){
}
泛型接口
interface Comparable<T>{
int commpareTo(T o);
}
class TestComparableImpl implements<Interger>{
public int commpareTo(T o){
return 0;
}
}
类型参数限定
简洁的通配符
通配符类型更加通用简洁,需要注意写类型
泛型类,方法和接口
类型查除,比如这种
@Data
class Base implements Io<Base>{
private int id;
@Override
public void say(Base t){
System.out.println("base:"+t.getId());
}
}
class Child extends Base{
@Override
public void say(Base t){
if(! (t instanceof Child)){
return;
}
System.out.println("child:"+t.getId());
}
}
不能通过new T()创建对象或者数组
泛型支持多个上界 T extends a & b & c
标签:object 基本类型 ble 其他 com pre 多个 基本 override
原文地址:https://www.cnblogs.com/beckbi/p/14774781.html