栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

泛型与File的学习。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

泛型与File的学习。

1.什么是泛型

 

 

混进来了别的数据类型。转换类型操作会出问题。需要在添加的时候对添加元素的类型做检查。

使用泛型的时候泛型是一个类型。不能是基本数据类型

 

试图加字符串的时候编译就过不去了。

定义一个结构的时候有了泛型。才能加泛型。

 这个红线标的方法识别到是Integer的类型。然后Integer也能识别到。

 

泛型套娃。

 Entry是Map的内部类。用点

 2.将已有结构改成泛型

类前

 

 迭代器这里也改成泛型。

 

 实现的Compareble类,要比较的泛型也修改。

定制排序里Comparator也要修改。 

修改后里面有employ类型了,省的再强转判断。

按生日排序,就要比较MyDate。Comparable里面泛型用这个。 

3.自定义泛型类

 可以定义get,set方法。

在另一个Test里测试。

 

 set的时候出类型了。

 

 

 

 

 

 泛型是创建对象的时候产生的,静态方法早于它创建。但泛型方法可以声明为静态的,然后里面再用泛型。

 

异常类里不用泛型

 

 

 

4.泛型方法

 并不是方法里用了泛型就是泛型方法。

 是指明了E[]是一个泛型参数。返回的List也是泛型。

 调用order里上图写的方法,

跟order是什么泛型没有一点关系,

调用这个方法后接受List就完事。

 这俩并非继承,就是里面装的类型不一样。

5.通配符的使用

不能向通配符的List里面加数据。但是可以加null,因为

 

 

 

 get的时候里面的类型是?,所以自动生成的类型是object。

不能写但是能读。

5.1有限制的通配符的使用 5.1.1赋值的规则

<?extends  类A>    L1,    可以赋值给L1的是下面泛型里,小于等于。即Person的子或Person。

<?super  类A>    L2,则是大于等于,即Person的父或者Person。

 5.1.2读取的规则(看上界)

【Person,+00】的时候,选个最大的放在左面读取。所以用object

【-00,Person】的时候,此时最大的是Person,选Person或者比Person大的都可以接受。(多态)。

List 1 的声明<=person。

List2的声明>=Person

 

5.1.3写入的规则(看下界),必须比界限小或者等于界限。可以用多态写进去。

【Person,+00】的时候,写入的类型小于等于Person即可。用多态解释。

【-00,Person】的时候,小的界限没法找出来,所以不能写。

List 1 的声明<=person

 List2的声明>=Person

 

读取看上界,写入看下界。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/698893.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号