这是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中泛型 问号的作用相关推荐

  1. java 文件通配符_Java中泛型通配符的使用方法示例

    本文实例讲述了Java中泛型通配符的使用方法.分享给大家供大家参考,具体如下: 一 点睛 引入通配符可以在泛型实例化时更加灵活地控制,也可以在方法中控制方法的参数. 语法如下: 泛型类名 extend ...

  2. java访问控制符_java中访问控制符的作用

    展开全部 java中访问控制符的作用是说明被声明的内容(类.属性.方法和构造方法)的访问权636f70793231313335323631343130323136353331333337393466限 ...

  3. java 类型通配符_java中泛型之类型通配符(?)

    实体类 package cn.xy.model; /** * 生物类 * @author xy * */ public class Living { private String name; publ ...

  4. java static用法_Java中static关键字的作用和用法详细介绍

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  5. java 私有构造_JAVA中构造方法私有化的作用是什么?

    展开全部 如果构造方法是私有的,则意味着无法从除自身之62616964757a686964616fe58685e5aeb931333431363637外的任何类访问它.这是Java提供的访问控制机制. ...

  6. java transient 关键字_JAVA中TRANSIENT关键字的作用

    Java的serialization提供了一种持久化对象实例的机制.当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它. 为了在一个特定对象的一个域上关闭s ...

  7. java中什么时候不能用泛型_java中泛型的正确使用姿势

    image.png 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.利用好泛型,在系统架构中是一把利器. 泛型类 先看一个例子,restful架构中,需要定义api接口返回 ...

  8. java 泛型机制_java中的泛型机制

    泛型 这种语法机制,只在程序编译阶段起作用,只是给编译器参考的.(运行阶段泛型没用) 使用了泛型好处是什么? 第一:集合中存储的元素类型统一. 第二:从集合中取出的元素类型是泛型指定的类型,不需要进行 ...

  9. java中的泛型是什么_Java中泛型是什么?Java泛型的详细介绍

    本篇文章给大家带来的内容是关于Java中泛型是什么?Java泛型的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.什么是泛型? Java泛型设计原则:只要在编译时期没有出 ...

最新文章

  1. 解决tomcat中文传输乱码问题
  2. 《2020年AI新基建发展白皮书》重磅发布,展示百度智能云多个落地案例
  3. Serverless 全能选手,再下一城
  4. 使用内置的Gallery应用程序选择图形
  5. 使用 Docker 部署 Node 服务
  6. 笔记:企业内部因素评价
  7. Spring的@Scheduled 动态更新cron表达式
  8. MyBatis-Plus_查询进阶05
  9. Fastreport 分组多列排序问题
  10. python有什么内容_python的类(简介,没什么内容)
  11. python定时模块:apscheduler
  12. 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.3节概述
  13. 程序员:办公室里的木匠
  14. C语言 低通滤波器\带通滤波器\高通滤波器
  15. UvaLA 4670 Dominating Patterns
  16. 文件上传插件WebUploader的使用
  17. win7搜索文件 服务器,win7系统搜索不到文件的解决方法
  18. 货拉拉NLP算法实习生面经
  19. 根据当前时间获取当前周的开始、结束时间(周一到周日)
  20. 我与兄弟连结缘的故事

热门文章

  1. 红心大战安卓单机版_红心大战手机版 v1.30 安卓版
  2. java读取mp3文件
  3. dou+账户余额怎么提现
  4. [含lw+源码等]微信小程序居家养老+后台管理系统[包运行成功]
  5. Cocos2d-x 2.0 变速动画深入分析
  6. python tkinter listbox_python tkinter listbox事件绑定
  7. 开源私有云盘python_搭建个人/企业私有云盘-seafile
  8. 金蝶EAS应用之登录方式介绍
  9. 吴文俊: 中国古代数学对世界文化的伟大贡献
  10. 几款主流的浏览器速度测试