泛型的上下限
来源:互联网 发布:海康威视 北京 知乎 编辑:程序博客网 时间:2024/06/08 00:53
泛型的上下限
需求1:定义一个函数可以接收任意类型的集合对象,要求接收的集合对象只能存储Integer或者是Integer的父类类型数据。
需求2:定义一个函数可以接收任意类型的集合对象,要求接收的集合对象只能存储Number或者是Number的子类类型数据。
泛型中的通配符:?
? super Integer 只能存储Integer或者是Integer父类元素。 泛型的下限
? extends Number 只能存储Number或者是Number类型的子类数据。 泛型的上限
package com.cn.genericity;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年7月17日21:54:50
* Desc:泛型的上下限
* 需求1:定义一个函数可以接收任意类型的集合对象,要求接收的集合对象只能存储Integer或者是Integer的父类类型数据。
* 需求2:定义一个函数可以接收任意类型的集合对象,要求接收的集合对象只能存储Number或者是Number的子类类型数据。
*
* 泛型中的通配符:?
*
* ? super Integer 只能存储Integer或者是Integer父类元素。 泛型的下限
* ? extends Number 只能存储Number或者是Number类型的子类数据。 泛型的上限
*
*/
public class Demo5 {
public static void main(String[] args) {
ArrayList<Integer> arrayList1 = new ArrayList<Integer>();
ArrayList<Number> arrayList2 = new ArrayList<Number>();
HashSet<String> hashSet1 = new HashSet<String>();
HashSet<Character> hashSet2 = new HashSet<Character>();
ArrayList<Object> arrayList3 = new ArrayList<Object>();
print(arrayList1);
print(arrayList2);
//print1(arrayList3);//×
//print(hashSet1); //×
//print(hashSet2); //×
}
//泛型的下限
//public static void print(Collection<?> c){
public static void print(Collection<? super Integer> c){
}
//泛型的上限
public static void print1(Collection<? extends Number> c){
}
}
0 0
- 泛型的上下限
- 泛型的上下限
- Java泛型 泛型的上下限
- 泛型的下限
- 泛型(4)——泛型的上下限
- 看《Effective Java》学会的泛型设计--上下限
- java中泛型的上下限
- Java学习笔记之泛型(五):泛型的上下限
- 泛型的上限和下限
- Java泛型的上限和下限
- java泛型之四——上下限
- 确定数值的上下限 numeric_limits::min
- LaTeX求和积分的上下限设置
- Fruit 有上下限的母函数
- Latex 求和上下限的位置
- java泛型上限下限
- 泛型的通配符,上限,下限以及泛型嵌套
- Java泛型4—泛型的上限和下限
- tf.one_hot(indices, depth, on_value=None, off_value=None, axis=None)
- HDU 5410(01背包+完全背包)
- SQL server日期时间函数
- 串口通讯协议
- python去掉标点,特殊符号
- 泛型的上下限
- Java进阶(四)线程间通信剖析
- 随机排列数组
- SQL Server类型与C#类型对应关系
- Leetcode刷题(6)
- 自定义Dialog宽度占满屏幕
- 欢迎使用CSDN-markdown编辑器
- Spring 核心技术——IoC 之 DI (1)
- Nginx源码分析与实践---ngx_command_t