第三节 泛型

3.1为什么需要泛型

没有采用泛型之前

1.不安全:添加元素是无检查 宽进

2.繁琐:获取元素时需要强制类型转换 严出

采用泛型之后

1.安全 严进

2.简单 宽出

3.2什么是泛型generic

JDK1.5引入

泛型,即"参数化类型"。

方法定义和调用:定义方法时有形参,然后调用此方法时传递实参。定义方法

public int add(int num1,int num2){ //形参

return num1+num2;

}

调用方法

add(10,20) //实参

add(100,200) //实参

泛型类的定义和创建对象
public class ArrayList<T> implements List<T> {} 类型形参
List<String> list = new ArrayList<String>(); 类型实参

3.3泛型内容

1).泛型接口

javapublic 

2).泛型类

//泛型类也要加泛型

3).泛型方法

泛型类中方法,即使使用了泛型,也不是泛型方法;泛型方法将泛型定义在方法上

静态方法无法访问类上定义的泛型;如果静态方法操作的引用数据类型不确定的时候,必须要将泛型定义在方法上。

public 

4).上限和下限通配符

<? extends E> 上限通配符,用来限制类型的上限

<? super E> 下限通配符,用来限制类型的下限

注意了,此处’?’是类型实参,而不是类型形参 。可以解决当具体类型不确定的时候,这个通配符就是 ?

public 

3.4.泛型注意事项

在于Java中的泛型这一概念提出的目的,导致其只是作用于代码编译阶段,在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦出。也就是说,成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进入到运行时阶段。

泛型类,是在实例化类的时候指明泛型的具体类型;泛型方法,是在调用方法的时候指明泛型的具体类型

本节作业

1. 泛型的好处

2. 练习泛型类、泛型接口、泛型方法的定义

关注我,每天更新2篇java基础视频,2-4篇java基础文章。

java 获取泛型t的class_阿里巴巴都鼎力推荐的java基础之集合其他内容和泛型3相关推荐

  1. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  2. java获取当月有几天_你真的能在JAVA开发这条路上面一直坚持下去吗?

    JAVA为什么有前途? 过去的十多年,JAVA基本每年都是全世界使用人数第一的语言.全世界数百万的IT企业构建了庞大的JAVA生态圈,大量的软件基于JAVA开发. JAVA也被誉为"计算机界 ...

  3. java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师. 那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之 ...

  4. java 获取文件大小_利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字

    序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...

  5. Java工程师通宵都要看完这几本阿里P8都强烈推荐的Java电子书

    以下是楼主收藏的电子书籍以及java架构学习资料 ​ 编辑 添加图片注释,不超过 140 字(可选) 面试资料 ​ 编辑 添加图片注释,不超过 140 字(可选) Java核心知识文档 ​ 编辑切换为 ...

  6. java 获取项目下的webapp_Spring Boot2 系列教程(一)纯 Java 搭建 SSM 项目

    在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭 ...

  7. 在职场中Java工程师通宵都要看完这几本阿里P8小编都强烈推荐的Java电子书

    以下是小编收藏的电子书籍以及java架构学习资料 面试资料 Java核心知识文档 Java核心知识PDF 1. JVM 2. JAVA集合 3. JAVA多线程并发 4. JAVA基础 5. Spri ...

  8. java获取电脑麦克风_Java的API的声音 - 捕捉麦克风(Java Sound API - capturing microphone)...

    问 题 我一直在阅读了关于声音api for java的几天,我无法理解它.我体面的程序员,我只是有困难得到我的头周围的api. 我一直在试图从我的麦克风捕获音频和实时显示波图. 我无法捕获音频,他们 ...

  9. java获取文件中的行号_如何取的Java源代码文件中文件名和行号

    如何取的Java源代码文件中文件名和行号:) 在C/C++的程序,编译器提供了两个宏来支持取得源文件中的行号和文件名,这两个宏是__FILE__,__LINE__ 你可以如下的方法打印行号和文件名 查 ...

最新文章

  1. ACCP学习旅程之-----基础篇
  2. 解决警告inconsistent dll linkage
  3. word python 域 操作_python实现在windows下操作word的方法
  4. java中关键字、标识符、常量、变量、数据类型
  5. 韶关学院2020年计算机科学与技术分数线,韶关学院2019录取分数线预测
  6. Joining Byte Blocks(哈希+带花树)
  7. oracle对象类型_如何创建Oracle类型对象
  8. UE4之接收鼠标操作
  9. php mail带附件,Pear Mail 发送邮件带附件_PHP教程
  10. 数据挖掘作业FCM算法
  11. 局域网联通公网小部分知识点
  12. 【Coding】LSF作业系统查看bsub提交历史
  13. ResNet论文翻译——中文版
  14. MATLAB写入文件的操作
  15. 论文学习 AInnoFace:Accurate Face Detection for High Performance
  16. 引用与引用作为函数的参数
  17. Android全面屏适配笔记
  18. VM 虚拟机网络配置
  19. IEEE 802.11 无线局域网络 (Wireless LAN)
  20. tcpdump命令解析

热门文章

  1. DrugBank数据库
  2. 字节数与字符数mysql_数据库字段长短之字节与字符
  3. jupyter notebook 内核好像挂掉了
  4. nginx 常用命令 和 配置
  5. 三十一、具有快表的地址变换机构
  6. 图片格式转换(PNG or JPEG to EPS or PDF)
  7. ASP .NET Core Web开发之 Tag Helpers
  8. 服务器空闲搭建什么网站,空闲的云服务器可以干什么
  9. python if语句能否判断中文,Python之判断语句(if语句)
  10. windows和liunx下换行符问题