博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AJPFX总结泛型概念和使用
阅读量:6263 次
发布时间:2019-06-22

本文共 1672 字,大约阅读时间需要 5 分钟。

泛型泛型(generic)概述和基本使用

泛型把明确数据类型的操作放到创建对象或者调用方法的时候再明确。

JDK1.5之后的新特性。            格式:                    
<引用数据类型>
好处: 泛型保证集合中的数据类型一致,提高安全性。把运行期异常提前到编译期。 那么在JDK1.5之前怎么实现参数的任意化呢? 是通过接收Object类型的参数实现的。因为任意类直接或间接继承自Object。 但这样实现的缺点就是,还是不能保证数据类型的安全一致。 Object obj1 = new Student(); Object obj2 = new Teacher(); 上面两个对象都声明为Object类型,那获取元素的时候到底该如何转型呢?还是存在问题。 应用: 泛型类 泛型接口 泛型方法 2、ArrayList存储字符串和自定义对象并遍历泛型版 3、泛型的由来 补充:泛型擦除 查看下述两个方法: public void show(ArrayList
list) {} public void show(ArrayList
list){} /* * 上述两个方法是不会形成方法的重载的,会报方法已存在的错误。 原因:泛型擦除 * 泛型是1.5中引入的一个新的概念,由于不用进行强制转换类型了,所以具有较高的安全性和易用性。 * 因为泛型其实只是在编译器中实现的而虚拟机并不认识泛型 * ,所以要在虚拟机中将泛型类型进行擦除。也就是说,在编译阶段使用泛型,运行阶段取消泛型,即擦除。 * 擦除是将泛型类型以其父类代替,如String变成了Object等。 * 其实在使用的时候还是进行带强制类型的转化,只不过这是比较安全的转换,因为在编译阶段已经确保了数据的一致性。 */ 4、泛型类的概述及使用 明确数据类型的工作放到了创建对象的时候 5、泛型方法的概述和使用 明确数据类型的工作放到了调用方法的时候 方法泛型 <> 加在返回值前面。 6、泛型接口的概述和使用 一种是子类实现接口的时候明确数据类型 interface Fu
{} class Zi implements Fu
{} 一种是子类继续使用泛型: class Zi
implements Fu
{} 7、泛型高级之通配符
-- 泛型通配符
-- 向下限定,接收E及其子类类型
-- 向上限定,接收E及其父类类型 原理:多态。 -- 父类引用指向子类对象。 Fu fu = new Zi();

转载于:https://blog.51cto.com/14314113/2393146

你可能感兴趣的文章
《.NET最佳实践》与Ext JS/Touch的团队开发
查看>>
jsp页面组成
查看>>
LCS记录
查看>>
C++开源跨平台类库集
查看>>
everything搜索工具小技巧
查看>>
一个 Sql语句优化的问题- STATISTICS 统计信息
查看>>
你不知道的KVO的内部实现
查看>>
转】MyEclipse10安装Log4E插件
查看>>
windows server2012r2 安装NET Framework 3.5
查看>>
vss整合配置连接到Myeclipse中以及中文配置
查看>>
[osg][osgEarth][原]基于OE自定义自由飞行漫游器(初级版)
查看>>
Java遇见HTML——JSP篇之JSP基础语法
查看>>
导出一个数据库中的表中的某一条数据
查看>>
JQuery初体验
查看>>
全球顶级黑客对决AI GeekPwn2017黑客大赛看点全面曝光
查看>>
浅析前端开发中的 MVC/MVP/MVVM 模式
查看>>
toString、equals和hashCode重写
查看>>
sizeof 和strlen的区别
查看>>
Python与C++引用分析
查看>>
误删一个用户 引起数据不准确问题
查看>>