美文网首页
为什么要有泛型? 泛型能干啥? 泛型的坑?

为什么要有泛型? 泛型能干啥? 泛型的坑?

作者: BenjaminCool | 来源:发表于2019-12-10 21:18 被阅读0次

什么叫泛型?有什么作用?

把类型明确的工作推迟到创建对象或调用方法的时候;

Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常;

类型参数:
ArrayList<E>中的E称为类型参数变量
ArrayList<Integer>中的Integer称为实际类型参数

泛型类型:
整个称为ArrayList<E>泛型类型

参数化类型:
整个ArrayList<Integer>称为参数化的类型ParameterizedType

为什么要有泛型

可以将类、接口等作为参数 来定义类、接口、 方法。

通常我们将基本数据类型, 引用类型 的值作为参数, 泛型可以用类、接口 类型作为参数。

泛型能干啥

编译期类型检查;增加了代码的健壮性。
不用强制类型转换了;
使程序员能够实现通用算法;比如集合;

定义泛型类、泛型方法、 泛型接口

通配符: 通配符是泛型实现的另外一种方式, 独立于泛型方法存在

那现在咋办???我们是不清楚List集合装载的元素是什么类型的,List<Objcet>这样是行不通的........于是Java泛型提供了类型通配符 ?
public void test(List<?> list){
?号通配符表示可以匹配任意类型,任意的Java类都可以匹配.....

设定通配符下限
List<? extends Number>

设定通配符上限
//传递进来的只能是Type或Type的父类
<? super Type>

值得注意的是:无论是设定通配符上限还是下限,都是不能操作与对象有关的方法,只要涉及到了通配符,它的类型都是不确定的!

如果参数之间的类型有依赖关系,或者返回值是与参数之间有依赖关系的。那么就使用泛型方法
如果没有依赖关系的,就使用通配符,通配符会灵活一些.

泛型擦除

相关文章

  • 泛型

    泛型 1.为什么要有泛型?2.泛型有什么好处?3.Swift泛型语法4.泛型的使用 为什么要有泛型 在编程世界中,...

  • 为什么要有泛型? 泛型能干啥? 泛型的坑?

    什么叫泛型?有什么作用? 把类型明确的工作推迟到创建对象或调用方法的时候; Java泛型设计原则:只要在编译时期没...

  • Kotlin 基础:泛型

    一、为什么要有泛型 效率、成本 减少样板代码的编写 二、泛型的分类 泛型类 泛型方法 三、泛型的关键字 3.1 T...

  • 重走安卓进阶路——泛型

    ps.原来的标题 为什么我们需要泛型? 泛型类、泛型接口和泛型方法(泛型类和泛型接口的定义与泛型方法辨析); 如何...

  • java基础-day13-泛型

    泛型 1. 泛型 1.1 为什么要使用泛型 1.2 泛型的基本格式 1.3 泛型在方法中使用 1.3 泛型在类内的...

  • 泛型

    1.什么是泛型? 2.为什么需要泛型? 3.泛型类、接口 泛型类注意事项: 从泛型类派生子类 泛型接口 泛型接口的...

  • JAVA范型<? extends __> <

    目录 一. 泛型概念的提出(为什么需要泛型)? 二.什么是泛型? 三.自定义泛型接口、泛型类和泛型方法 四.类型通...

  • 泛型

    泛型 Why:为什么需要泛型 What:泛型是什么; How:泛型怎么实现 When:泛型什么时候使用 Where...

  • 泛型——Dart(五)

    泛型 从字面意思理解,就是广泛的类型,我们可以在集合中看到泛型的影子: 为什么要有泛型? 以集合为例,假如没有泛型...

  • 泛型 & 注解 & Log4J日志组件

    掌握的知识 : 基本用法、泛型擦除、泛型类/泛型方法/泛型接口、泛型关键字、反射泛型(案例) 泛型 概述 : 泛型...

网友评论

      本文标题:为什么要有泛型? 泛型能干啥? 泛型的坑?

      本文链接:https://www.haomeiwen.com/subject/qqhngctx.html