为什么需要学习泛型(Generic) ?详细解读(一)

本文探讨了为何需要学习Java中的泛型,它旨在解决集合存储不同类型元素时出现的安全性和遍历问题。通过引入泛型,可以实现编译时期的类型确定,消除类型转换警告,提高代码的安全性和效率,满足开闭原则,增强代码可读性和可维护性。示例中展示了泛型如何应用于方法和数组类型参数化。
摘要由CSDN通过智能技术生成

package com.sxt.genericdemo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*

  • 为什么需要学习泛型(Generic)?

  • 在JDK1.5之前是没有泛型,当时集合能够存储的都是使用父类Object类型作为形参接受所有的类型

  • 如果存储的是同一种类型向下转型没问题,如果集合存储的是不同类型,那么会出现ClassCastException类型转换异常

  • 所以我们在转型之前做类型判断,判断后虽然解决了安全问题,但是又出现了 遍历不完全的情况,所以我们需要针对Object

  • 可能出现的子类做逐一判断,判断后解决了遍历不完整和安全问题,但是如果集合又添加了一个新的类型的元素,遍历又不

  • 完整,需要继续添加else if语句块,所以违背了开闭原则,不好维护,可以违背开闭原则,但是又因为Object类有无数个

  • 子类,所以永远无法解决,所以引入了泛型

  • 泛型是模仿数组方法的特点:

  • 模仿数组的 编译时期 确定类型

  • 模仿方法的 参数化类型

  • 泛型的概述: 泛型是一种独立的技术,和集合无关,是能够将类型在编译时期提前确定的参数化类型

  • 泛型的格式: 这里的E必须是引用数据类型,这里可以A~Z

  • 泛型的好处:

  • 1.消除了黄色警

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值