泛型

泛型的由来

通过Object转型问题引入: 早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在隐患,所以Java提供了泛型来解决这个安全问题。


  提高安全性(将运行期的错误转换到编译期)
  省去强转的麻烦

泛型类

public class 类名<泛型类型1,…>

 泛型方法

public <泛型类型> 返回类型 方法名(泛型类型 变量名) 

  泛型类中的非静态方法最好与类的泛型一致,如果不一致,需要在方法上声明该泛型

  静态方法必须声明自己的泛型,必须与类的泛型不一致。因为静态方法是随着类的加载而加载的,而类加载时有可能没有创建对象,所以要提前告诉静态方法他的泛型是什么

 

 

 

泛型接口

public interface 接口名<泛型类型>

 

 

 

泛型高级通配符:

  A:   泛型通配符<?>
        任意类型,如果没有明确,那么就是Object以及任意的Java类了
  B:  ? extends E
        向下限定,E及其子类
  C:  ? super E
        向上限定,E及其父类










posted @ 2019-07-16 12:59  gaoyang666  阅读(162)  评论(0编辑  收藏  举报