java 泛型 问号_Java中泛型 问号的作用
这是jdk1.5泛型的典型应用:
第一种写法,叫做使用泛型方法:
public void thisIsT(List list){
//...
}
当然还可以这样写:
public void thisIsT(List list){
//...
}
这两种写法效果是一样的.
第二种写法,叫做有限制的通配符:
public void thisIsP(List extends Object> list){
//...
}
其实还有这种写法就是把这两种方法结合起来:
看下面的这个示例:(Collections.copy())
class Collections {
public static void copy(List dest, List extends T> src){...}
}
仔细观察上面的这个方法,既使用了有限制的通配符(?),
又使用了泛型方法.
这两种泛型使用方法的主要区别就是:
泛型函数(这里指copy()这个方法)允许类型参数(Type Parameters)被用来表示方法的一个或多个参数之间的关系,或者
参数与其返回值之间的关系.如果没有这样的依赖关系,不应该使用泛型方法.
在这里和大家共同学习了,更多请参考:
说白了就是写成T就是将类型固定,而?则不固定,比如下面这个例子
public class CollectionGenFoo {
...
}
这么写就会报错
CollectionGenFoo listFoo = new CollectionGenFoo(new ArrayList());
如果把 CollectionGenFoo 改成 CollectionGenFoo extends Collection>的话
CollectionGenFoo listFoo = new CollectionGenFoo(new ArrayList());
则不会报错。
T 是一种类型。
?是泛指(就是通配符)
List> 和List 是不一样的。
java 泛型 问号_Java中泛型 问号的作用相关推荐
- java 文件通配符_Java中泛型通配符的使用方法示例
本文实例讲述了Java中泛型通配符的使用方法.分享给大家供大家参考,具体如下: 一 点睛 引入通配符可以在泛型实例化时更加灵活地控制,也可以在方法中控制方法的参数. 语法如下: 泛型类名 extend ...
- java访问控制符_java中访问控制符的作用
展开全部 java中访问控制符的作用是说明被声明的内容(类.属性.方法和构造方法)的访问权636f70793231313335323631343130323136353331333337393466限 ...
- java 类型通配符_java中泛型之类型通配符(?)
实体类 package cn.xy.model; /** * 生物类 * @author xy * */ public class Living { private String name; publ ...
- java static用法_Java中static关键字的作用和用法详细介绍
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...
- java 私有构造_JAVA中构造方法私有化的作用是什么?
展开全部 如果构造方法是私有的,则意味着无法从除自身之62616964757a686964616fe58685e5aeb931333431363637外的任何类访问它.这是Java提供的访问控制机制. ...
- java transient 关键字_JAVA中TRANSIENT关键字的作用
Java的serialization提供了一种持久化对象实例的机制.当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它. 为了在一个特定对象的一个域上关闭s ...
- java中什么时候不能用泛型_java中泛型的正确使用姿势
image.png 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.利用好泛型,在系统架构中是一把利器. 泛型类 先看一个例子,restful架构中,需要定义api接口返回 ...
- java 泛型机制_java中的泛型机制
泛型 这种语法机制,只在程序编译阶段起作用,只是给编译器参考的.(运行阶段泛型没用) 使用了泛型好处是什么? 第一:集合中存储的元素类型统一. 第二:从集合中取出的元素类型是泛型指定的类型,不需要进行 ...
- java中的泛型是什么_Java中泛型是什么?Java泛型的详细介绍
本篇文章给大家带来的内容是关于Java中泛型是什么?Java泛型的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.什么是泛型? Java泛型设计原则:只要在编译时期没有出 ...
最新文章
- 解决tomcat中文传输乱码问题
- 《2020年AI新基建发展白皮书》重磅发布,展示百度智能云多个落地案例
- Serverless 全能选手,再下一城
- 使用内置的Gallery应用程序选择图形
- 使用 Docker 部署 Node 服务
- 笔记:企业内部因素评价
- Spring的@Scheduled 动态更新cron表达式
- MyBatis-Plus_查询进阶05
- Fastreport 分组多列排序问题
- python有什么内容_python的类(简介,没什么内容)
- python定时模块:apscheduler
- 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.3节概述
- 程序员:办公室里的木匠
- C语言 低通滤波器\带通滤波器\高通滤波器
- UvaLA 4670 Dominating Patterns
- 文件上传插件WebUploader的使用
- win7搜索文件 服务器,win7系统搜索不到文件的解决方法
- 货拉拉NLP算法实习生面经
- 根据当前时间获取当前周的开始、结束时间(周一到周日)
- 我与兄弟连结缘的故事
热门文章
- 红心大战安卓单机版_红心大战手机版 v1.30 安卓版
- java读取mp3文件
- dou+账户余额怎么提现
- [含lw+源码等]微信小程序居家养老+后台管理系统[包运行成功]
- Cocos2d-x 2.0 变速动画深入分析
- python tkinter listbox_python tkinter listbox事件绑定
- 开源私有云盘python_搭建个人/企业私有云盘-seafile
- 金蝶EAS应用之登录方式介绍
- 吴文俊: 中国古代数学对世界文化的伟大贡献
- 几款主流的浏览器速度测试