java 泛型
2021/11/24 17:13:03
本文主要是介绍java 泛型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
四、泛型的通配符
通配符:传入的类型有一个指定的范围,从而可以进行一些特定的操作
泛型中有三种通配符形式:
1.<?>无限制通配符
2.<? extends E> extends 关键字声明了类型的上界,表示参数化的类型可能是所指定的类型,或者是此类型的子类。
3.<? super E> super 关键字声明了类型的下界,表示参数化类型可能是指定类型,或者是此类型的父类。
无限制通配符 < ?>
要使用泛型,但是不确定或者不关心实际要操作的类型,可以使用无限制通配符(尖括号里一个问号,即 <?> ),表示可以持有任何类型。
? 和 Object 不一样,List<?> 表示未知类型的列表,而 List<Object> 表示任意类型的列表。
如传入个 List<String> ,这时 List 的元素类型就是 String,想要往 List 里添加一个 Object,这当然是不可以的。
上界通配符 < ? extends E>
在类型参数中使用 extends 表示这个泛型中的参数必须是 E 或者 E 的子类,这样有两个好处:
-
如果传入的类型不是 E 或者 E 的子类,编辑不成功
-
泛型中可以使用 E 的方法,要不然还得强转成 E 才能使用
下界通配符 < ? super E>
在类型参数中使用 super 表示这个泛型中的参数必须是 E 或者 E 的父类
这篇关于java 泛型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?