文档章节

java泛型总结

newChar
 newChar
发布于 2017/04/01 18:01
字数 480
阅读 23
收藏 4

###1. 特点, 好处

java1.5后出现 包含1.5版本
泛型的出现 解决程序的安全性 保证程序的一致安全机制
使用泛型 避免了类型的强制类型转换 代码就简单
数据类型只能是 应用类型 不能使基本类型,且前后保持一致
泛型的 定义格式:

集合类<数据类型>变量 = new集合类<数据类型>();

###2. 定义使用 ####1) 泛型类

这个<T>参数就可以接受任意类型
对该类创建对象时对泛型进行了定义 方法上 也必须遵从同一规则 如果类上不进行定义 直接使用该方法时候 有这个泛型的时候就可以传任意类型

<T extends Gou> 类泛型 不支持super关键字 继承写法不支持? 通配符

public class FanXing<T>{
}

####2)泛型方法

需要在方法返回值前定义 参数的泛型 如下, 不可定义在返回值后 返回值前加泛型定义, 类上无定义时需要, 否则可以隐藏掉

public <T>void show(T t){
}
public class FanXing<T>{
	public void show(T t){
	}
}

####3)泛型变量

不可设置static 泛型变量依赖泛型类, 类上无泛型则 变量报错 T cannot be resolved to a type

public class fanxingtest<T>{
	private List<T> list;
	private T t = null;
}

###3. 关键字 java 提供的泛型例子

List<E>...
Set<E>... 等泛型控制类

###1) super 关键字

下边界限定 父类限定符, 指 ArrayList 中只能够存放Dog的父类类型的数据 eg: 动物,object对象等其他父类对象(包含自己)。

List<? super Dog> list = new ArrayList<>();
list.add(动物);
list.add(哺乳动物)

###2) extends关键字

上边界限定符 指 ArrayList只能够存放Dog的子类对象(包含自己) eg: 二哈, 金毛, 德牧 等... 各种各样的狗

List<? extends Dog> list = new ArrayList<>();
list.add(金毛);
list.add(哈士奇)

© 著作权归作者所有

newChar
粉丝 4
博文 7
码字总数 1129
作品 0
朝阳
私信 提问

暂无文章

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
8
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
7
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
10
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部