className variable<dataType1, dataType2> = new className();
泛型的优点:使用泛型类时指明了数据类型 , 赋给其他类型的值会抛出异常 , 既不需要向下转型 , 也没有潜在的风险 。
除了定义泛型类 , 还可以定义泛型接口和泛型方法 , 使用泛型方法时不必指明参数类型 , 编译器会根据传递的参数自动查找出具体的类型 。
限制泛型的可用类型
通过 extends 关键字可以限制泛型的类型
public <T extends Number> T getMax(T array[]){T max = null;for(T element : array){max = element.doubleValue() > max.doubleValue() ? element : max;}return max;}
<T extends Number> 表示 T 只接受 Number 及其子类 , 传入其他类型的数据会报错 。这里的限定使用关键字 extends , 后面可以是类也可以是接口 。但这里的 extends 已经不是继承的含义了 , 应该理解为 T 是继承自 Number 类的类型 。
推荐阅读
- 完全基于 Java 的开源深度学习平台,亚马逊的大佬带你上手
- JavaScript 中如何检查对象为空
- 春季养生的这些小知识 你不得不知道
- 必须懂的五个春季养生保健知识
- 历史上你绝对不知道的冷知识 关于秦始皇的冷知识
- 关于Spring IoC的那些事
- 现代Web开发中的JavaScript音频库——howler.js
- 径山茶叶文化知识先容,径山采茶歌
- 杂牌电源对电脑影响大吗?杂牌劣质电源对电脑硬件的危害科普知识
- 用JAVA nutZ 框架 开发 Hello World