面试题-14泛型

概念:泛型是一个未知的数据类型

E e:Element 元素 T t:Type 类型等

使用泛型和不使用泛型的区别

不使用泛型
好处:集合不使用泛型,默认类型是Object类型,可以存储任意类型
弊端:不安全,会引发类型转换异常
使用泛型
好处:避免的转换的麻烦,存储什么类型,取出什么类型;把运行期异常提醒到编译器
弊端:泛型是什么类型只能存储什么类型

泛型的定义和使用
泛型类

定义格式:修饰符 class 类名<泛型>{
    
    }
class ArrayList<E> {
    
    
    public boolean add(E e) {
    
    }
    public E get(int index) {
    
    }
}

泛型方法

定义格式:修饰符 <泛型> 返回值类型 方法名(参数(使用泛型){
    
    }
public <M> void fx(M m) {
    
    
   System.out.println(m);
}

泛型接口

第一种方法:定义接口的实现类,实现接口,指定接口的泛型
第二种方法:定义接口的实现类,接口是什么类型,指定实现类也是相同的接口,类跟着接口走,相当于确定了一个泛型类 泛型的通配符
泛型的通配符:?,代表任意数据类型 使用方式:不能通过创建对象使用;只能作为方法的参数使用 泛型的限定 泛型上限限定:? extend
E,表示使用的泛型只能是E类的子类或者本身 泛型下限限定:? super E,表示使用的泛型只能是E类的父类或者本身

猜你喜欢

转载自blog.csdn.net/zyf_fly66/article/details/114086366