java基础之泛型

泛型

泛型是在JDK1.5增加的功能,在没有泛型之前,从集合中取出来的每一个对象都必须进行强制类型转换,如果有人插入了错误类型的对象,在运行时的转换就会出现问题,有了泛型之后,这些问题就会在编译期暴露出来。

泛型的好处

  • 在编译期间检测类型,避免了运行期出现的ClassCastException
  • 使得代码整洁,不需要在转换时使用instanceOf
  • 在运行时不会产生类型检查的字节码指令
  • 增加了可读性和安全性

通常使用E表示集合的元素类型,K和V分别表示表的关键字和值的类型,T表示任意类型

类型变量的限定

可以对泛型的类型变量进行上下限的限定,使用extends来进行上限的限定,使用super来进行下限的限定

复制代码
// 将参数限定为只能被实现了Comparable接口的类的数组调用
public static <T extends Comparable> T min(T[] array)

https://zhhll.icu/2020/java基础/面向对象/14.java基础之泛型/

本文由mdnice多平台发布

相关推荐
海鸥-w2 小时前
什么是AOP
java
Cc.Y2 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck2 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787053 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev3 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
Sarvartha3 小时前
Lambda 表达式和函数式接口
java·开发语言
计算机毕业设计杰瑞3 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
colinu3 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
蜗牛互联网3 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端
逐光者9334 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32