当前位置: 首页 > news >正文

Java泛型中的问号是什么意思

通配符概念

因为 List 是泛型类,为了 表示各种泛型 List 的父类,可以使用类型通配符,类型通配符使用问号(?)表示,将一个问号当做类型元素传递个 List,可以表示为 List<?>,意思是 元素类型未知的 List,不同于 List 其元素类型为 T。这个问号被称为通配符,它的元素类型可以匹配任何类型。

一般的,统配符不会出现在泛型类的声明上,而多用于使用泛型类或泛型方法。

public class GenericTest {public static void main(String[] args) {List<String> name = new ArrayList<String>();List<Integer> age = new ArrayList<Integer>();List<Number> number = new ArrayList<Number>();name.add("icon");age.add(18);number.add(314);getData(name);getData(age);getData(number);   }// 在此处使用通配符,则可以传入各种类型的 List 泛型,public static void getData(List<?> data) {System.out.println("Test date :" + data.get(0));}
}

打印输出为

Test data :icon
Test data :18
Test data :314

通配符的出现,允许类型参数变化。

参考文章:https://blog.51cto.com/u_16099228/6507641

http://www.lryc.cn/news/204642.html

相关文章:

  • 粤嵌实训医疗项目day02(Vue + SpringBoot)
  • 又是一年1024程序员日
  • acme.sh签发和部署ZeroSSL泛域名证书
  • Calibre拾遗:FDI (Foreign Database Interface)系统简介
  • 记一次渗透测试事件
  • AIGC笔记--基于DDPM实现图片生成
  • 三十七、【进阶】SQL的explain
  • 【Python】取火柴小游戏(巴什博弈)
  • 030-第三代软件开发-密码输入框
  • mysql读取文件
  • CentOS(5)——rpm包和源码包区别
  • Golang 实现对配置文件加密
  • MYSQL数字函数详解和实战(数字函数大全,内含示例)
  • Linux系列讲解 —— VIM配置与美化
  • FreeSWITCH 使用指北(2)-多段音频顺序播放的设置
  • 使用python爬虫语言调用有道翻译实现英中互译(2023实现)
  • 2024王道考研计算机组成原理——指令系统
  • vscode中如何将cmd设置为默认终端
  • Unity UGUI 循环滑动列表实现思路及简单代码实现
  • 贪心算法(1)--经典贪心算法
  • Nginx负载均衡和备份和故障转移
  • Android-Framework 三方应用默认权限都不弹窗
  • TX Text Control.NET For WPF 32.0 Crack
  • 使用Go语言测试Redis性能
  • 【Javascript】运算符(赋值,算术,自增,自减)
  • Redis数据类型——list类型数据的扩展操作
  • [论文笔记]NEZHA
  • 【Linux】认识协议
  • Hadoop3教程(三十四):(生产调优篇)MapReduce生产经验汇总
  • Unity⭐️Win和Mac安卓打包环境配置