第8章泛型

这章学不太懂,所以简单记录一下,如果要用到这方面的知识,我再专门来学习一下。

8.1 泛型入门

8.1.2 使用泛型

从Java5以后,Java引用了“参数化类型(parameterized type)”的概念,允许程序在创建集合时指定集合元素的类型,正如在第7章的ShowHand.java程序中见到的List,这表明List只能保存字符串类型的对象。Java的参数化类型被称为泛型。

8.2 深入泛型

可以为任何类、接口增加反省声明(并不是只有集合类才可以使用泛型声明,虽然集合类是泛型的重要使用场所)。下面定义一个Apple类,这个Apple类就可以包含一个泛型声明:

8.3 类型通配符

8.4 泛型方法

泛型方法的语法格式如下:

修饰符<T, S>返回值类型 方法名(形参列表)
{// 方法体...
}
import java.util.ArrayList;
import java.util.Collection;public class GenericMethodTest {// 声明一个泛型方法,该泛型方法中带一个T类型形参static <T> void fromArrayToCollection(T[] a, Collection<T> c){for (T o: a){c.add(o);}}public static void main(String[] args) {Object[] oa = new Object[100];Collection<Object> co = new ArrayList<>();// 下面代码中T代表Object类型fromArrayToCollection(oa, co);String[] sa = new String[100];Collection<String> cs = new ArrayList<>();// 下面代码中T代表String类型fromArrayToCollection(sa, cs);// 下面代码中T带代表Object类型fromArrayToCollection(sa, co);Integer[] ia = new Integer[100];Float[] fa = new Float[100];Number[] na = new Number[100];Collection<Number> cn = new ArrayList<>();// 下面代码中T代表Number类型fromArrayToCollection(ia, cn);// 下面代码中T代表Number类型fromArrayToCollection(fa, cn);// 下面代码中T代表Number类型fromArrayToCollection(na, cn);// 下面代码中T代表Obejct类型fromArrayToCollection(na, co);// 下面代码中T代表String类型,但na是要给Number数组// 因为Number既不是String类型// 也不是它的子类,所以出现编译错误// fromArrayToCollection(na, cs);}
}

8.5 擦除和转换

8.6 泛型与数组

Java疯狂讲义(第8章——泛型)(读书笔记)相关推荐

  1. 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展

    一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...

  2. Java 核心技术卷 II(第 8 版) – 读书笔记 – 第 1 章(下)

    22.一旦获得了一个 Charset,就可以在 Java 的 Unicode 和指定的编码格式之间进行转化,下面以 GBK 和 Unicode 之间做为例子. 从 Unicode 到 GBK: imp ...

  3. 尽信书,不如无书。java的包装类Integer的深入理解及特殊情况(以及java疯狂讲义第5版170页中的错误)

    1.通常情况下,两个包装类型只有在两个引用指向同一对象时,使用 == 进行比较时才会返回true 例如: Double do1 = Double.valueOf(1.23); Double do2 = ...

  4. java疯狂讲义第八章-集合

    8. java疯狂讲义第八章-集合 Java 集合就像一种容器, 可以把多个对象(实际上是对象的引用,但习惯上都称对象) "丢进"该容器中. java集合分为Set.List.Qu ...

  5. 《Java并发编程实践-第一部分》-读书笔记

    大家好,我是烤鸭: <Java并发编程实战-第一部分>-读书笔记. 第一章:介绍 1.1 并发历史: 多个程序在各自的进程中执行,由系统分配资源,如:内存.文件句柄.安全证书.进程间通信方 ...

  6. 《ASP.NET Core 与 RESTful API 开发实战》-- (第10章)-- 读书笔记

    第 10 章 部署 10.1 部署到 IIS ASP.NET Core 应用程序支持部署到 IIS 中,之后它将作为应用程序的反向代理服务器和负载均衡器,向应用程序中转传入的 HTTP 请求 默认情况 ...

  7. 【深度学习(deep learning)】花书第12章 应用 读书笔记

    [深度学习(deep learning)]花书第12章 应用 读书笔记 第12章 应用 [深度学习(deep learning)]花书第12章 应用 读书笔记 前言 一.大规模深度学习 1.快速的CP ...

  8. 【读书笔记】实战JAVA虚拟机JVM故障诊断与性能优化 读书笔记

    文章目录 1.概述 1.1 **第一章:初探java虚拟机** 1.2 认识java虚拟机的基本结构 1.3 常用Java虚拟机参数 1.4 垃圾回收器 1.5 垃圾收集器以及内存分配 1.6 性能监 ...

  9. 《Java: The Complete Reference》等书读书笔记

    春节期间读了下<Java: The Complete Reference>发现这本书写的深入浅出,我想一个问题,书中很多内容我们也知道,但是为什么我们就写不出这样一本书,这么全面,这么系统 ...

  10. 【疯狂Java讲义】第九章 泛型

最新文章

  1. 多分辨率适配—字体大小适配 sp与dp区别
  2. python3语法错误-python-使用Python 3打印时出现语法错误
  3. Nginx 配置TCP和UDP负载均衡
  4. 取出客户端卸载CKEditor中的内容,放入数据库中的方案
  5. php程序如何加密(php_screw)
  6. JavaWeb中集成UEditor
  7. Java线程:线程私有变量
  8. 安装ISA2004后,加入域时提示:远程过程调用失败且未运行的解决办法
  9. Optimizate objective function in matrix
  10. BUU BRUTE 1
  11. 2021年最棒的10款Java框架,你喜欢哪个?
  12. python里面的pip是什么意思_python的pip有什么用
  13. 生成PDMS管口方位图 python方案
  14. VOC2007 2012数据集有多少张图片
  15. 汽车自动变速器的共性技术
  16. 正则表达式-匹配中英文、字母和数字
  17. 蓝色插画风新媒体运营转正汇报PPT模板
  18. 取整函数,back函数,memset函数,sizeof函数,--LeetCode刷题笔记3
  19. 连接器E-mark认证要准备什么资料?
  20. 与或非逻辑运算符用法详解

热门文章

  1. 微信 Android design 代码,微信代码有哪些_微信隐藏代码介绍_3DM手游
  2. 网页上的文本不让你复制下载?老司机教你几招,轻松免费复制
  3. 数据治理:数据血缘关系分析
  4. php exeil导入,反编译工具ILSpy.exe
  5. BUUCTF misc 专题(77)间谍启示录
  6. JXNU Linux 学习通单元测试题 和 答案
  7. python算法精解pdf_python算法精解
  8. 我的java学习心得
  9. PS为美女换服装颜色及换头发颜色
  10. 二次规划(QP)与OSQP求解器