- Java泛型教程
- Java泛型 - 首页
- Java泛型 - 概述
- Java泛型 - 环境设置
- 示例 - 泛型类
- Java泛型 - 泛型类
- 类型参数命名约定
- Java泛型 - 类型推断
- Java泛型 - 泛型方法
- Java泛型 - 多个类型
- Java泛型 - 参数化类型
- Java泛型 - 原始类型
- 示例 - 有界类型
- 有界类型参数
- Java泛型 - 多个边界
- 示例 - 集合
- Java泛型 - 泛型列表
- Java泛型 - 泛型集
- Java泛型 - 泛型映射
- 示例 - 通配符
- 上界通配符
- 泛型 - 无界通配符
- 下界通配符
- 泛型 - 通配符指南
- 类型擦除
- Java泛型 - 类型擦除
- Java泛型 - 有界类型擦除
- 无界类型擦除
- Java泛型 - 方法擦除
- 泛型的限制
- Java泛型 - 没有基本类型
- Java泛型 - 没有实例
- Java泛型 - 没有静态字段
- Java泛型 - 没有强制转换
- Java泛型 - 没有instanceOf
- Java泛型 - 没有数组
- Java泛型 - 没有异常
- Java泛型 - 没有重载
- Java泛型有用资源
- Java泛型 - 快速指南
- Java泛型 - 有用资源
- Java泛型 - 讨论
Java泛型 - 无界通配符
问号(?)表示通配符,在泛型中代表未知类型。当方法可以使用Object类中提供的功能实现时,或者当代码独立于类型参数时,可能有时可以使用任何对象。
要声明无界通配符参数,只需列出?即可。
示例
以下示例说明了如何使用extends指定无界通配符。
package com.tutorialspoint; import java.util.Arrays; import java.util.List; public class GenericsTester { public static void printAll(List<?> list) { for (Object item : list) System.out.println(item + " "); } public static void main(String args[]) { List<Integer> integerList = Arrays.asList(1, 2, 3); printAll(integerList); List<Double> doubleList = Arrays.asList(1.2, 2.3, 3.5); printAll(doubleList); } }
这将产生以下结果:
输出
1 2 3 1.2 2.3 3.5
广告