java泛型T和通配符问号的区别
类型本来有:简单类型和复杂类型,引入泛型后把复杂类型分的更细了;
现在List<Object>, List<String>是
两种不同的类型
;且无继承
关系;泛型的好处如:
开始版本
public void write(Integer i, Integer[] ia);public void write(Double d, Double[] da);
泛型版本
public <T> void write(T t, T[] ta);
简便了代码
定义泛型
1.定义在类后面
紧跟
类名
后面public class TestClassDefine<T, S extends T>{}
定义泛型 T, S, 且S 继承 T
2.定义在方法
装饰符
后面紧跟
修饰符
后面(public)public <T, S extends T> T testGenericMethodDefine(T t, S s){}
定义泛型 T, S, 且S 继承 T
实例化泛型
- 1.实例化
定义在类
上的泛型
第一声明类变量
或者实例化时
。例如
List<String> list;list = new ArrayList<String>;
第二继承类
或者实现接口
时。例如
public class MyList<E> extends ArrayList<E> implements List<E> {...}
- 2.实例化
定义方法
上的泛型<br/>
当调用范型方法时,编译器自动对类型参数(泛型)
进行赋值,当不能成功赋值时报编译错误
通配符(?)
上面有泛型的定义
和赋值
;当在赋值
的时候,上面一节说赋值的都是为具体类型
,当赋值的类型不确定
的时候,我们用通配符(?)
代替了:
如
List<?> unknownList;List<? extends Number> unknownNumberList;List<? super Integer> unknownBaseLineIntgerList;
在Java集合框架中,对于参数值是
未知类型
的容器类,只能
读取其中元素,不能
向其中添加元素, 因为,其类型是未知,所以编译器无法识别添加元素的类型和容器的类型是否兼容,唯一的例外是NULL
源自:http://blog.csdn.net/jinuxwu/article/details/6771121
java泛型T和通配符问号的区别相关推荐
- Java泛型中extends和super的区别?
区别 <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概 ...
- 一文读懂Java泛型中的通配符 ?
之前不太明白泛型中通配符"?"的含义,直到我在网上发现了Jakob Jenkov的一篇文章,觉得很不错,所以翻译过来,大家也可以点击文末左下角的阅读原文看英文版的原文. 下面是我的 ...
- 聊一聊Java 泛型中的通配符 T,E,K,V,?
点击上方"方志朋",选择"设为星标" 回复"1024"获取独家整理的学习资料 作者:glmapper juejin.im/post/5d57 ...
- 聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据 ...
- JAVA 泛型中的通配符 T,E,K,V,?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入新技术 来源:8rr.co/2Xqx 前言 Java 泛型(generic ...
- 原神一面:Java 泛型中的通配符 T,E,K,V,?,你确定都了解吗?
点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Sometimes, the same thing, we can ...
- Java泛型专题之2、聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
目录 1. 前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说 ...
- Java泛型三:通配符详解extends super
在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限定通配符,< ? super Object>表示下边界限定通配符. 通配符 与 ...
- Java 泛型中的通配符详解
目录 1.如何定义和使用上界通配符? 2.如何定义和使用无界通配符? 3.如何定义和使用下界通配符? 4.如何使用通配符定义泛型类或接口之间的子类型关系? 5.通配符的捕获和辅助方法 6.通配符使用指 ...
- java泛型概念与通配符含义初探
一般类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类.如果要编写可以应用与多重类型的代码,这种刻板的限制对代码的束缚就会很大. 泛型的概念: 泛型实现了参数化类型的概念,使代码可以应用于 ...
最新文章
- BCH潜力无限,引领区块链发展潮流
- 【 FPGA/IC 】addsub 的实现
- delphi 串口通信发送_STM32第五章串口通讯详解
- 【Linux】一步一步学Linux——bzip2命令(65)
- ZooKeeper学习第一期---Zookeeper简单介绍(转)
- 【C++深度剖析教程16】智能指针的分析
- 解决margin塌陷的问题_解决margin塌陷与margin合并(margin)清除浮动问题
- PID参数整定法(2)
- 训练自己的数据_PyTorch版CenterNet训练自己的数据集
- linux编译器下载地址,GNU Compiler Collection(gcc编译器) v4.9.1 linux版
- android 串口工具下载,SerialTool串口调试工具-SerialTool apkv1.2 android最新版_永辉资源网...
- 東京タワー初めてphoto
- hashmap 线程不安全
- C# Console Application
- android开源库合集
- [经]信用体系,金融改革
- linux字体文件路径,Linux下安装字体
- 成功GET一款高大上又不显俗的Linux时间锁屏软件-GLUQLO
- 【中医学】10 针灸-2:常用腧穴
- 带电粒子在匀强电场中的运动(忽略重力)