2019独角兽企业重金招聘Python工程师标准>>>

public static void printColl(ArrayList<?> al){
                Iterator<?> it = al.iterator();
                while(it.hasNext())
                {
                        System.out.println(it.next().toString());
                }
?和T都表示不确定的类型  但如果是T的话 函数里面可以对T进行操作 比如while里面可以这样写
T t = it.next();
System.out.println(t);

T自定义泛型和?通配符泛型
1.在整个类中只有一处使用了泛型,使用时注意加了泛型了参数不能调用与参数类型有关的方法比如“+”,比如打印出任意参数化类型集合中的所有内容,就适合用通配符泛型<?>
public static void printCollecton(Collection <?> collection)
{
for(Object obj: collection)
{
System.out.println(obj);
}
}
2. 当一个类型变脸用来表达两个参数之间或者参数与返回值之间的关系时,即统一各类型变量在方法签名的两处被使用,或者类型变量在方法体代码中也被使用而不仅 仅在签名的时候使用,这是应该用自定义泛型<T>。泛型方可以调用一些时间类型的方法。比如集合的add方法。
public static <T> T autoConvertType(T obj)
{
     return(T)obj;
}

泛型三种:
          [1]ArrayList<T> al=new ArrayList<T>();指定集合元素只能是T类型
          [2]ArrayList<?> al=new ArrayList<?>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法
          [3]ArrayList<? extends E> al=new ArrayList<? extends E>();
            泛型的限定:
               ? extends E:接收E类型或者E的子类型。
               ?super E:接收E类型或者E的父类型。

转载于:https://my.oschina.net/Skynet01/blog/1809584

java泛型中?和T有什么区别?相关推荐

  1. Java泛型中extends和super的区别?

    区别 <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概 ...

  2. 【Java】泛型中 extends 和 super 的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  3. Java泛型中extends T和super T的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  4. java super extend 区别_Java泛型中extends和super的区别

    extends T>和 super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. extends T&g ...

  5. 聊一聊Java 泛型中的通配符 T,E,K,V,?

    点击上方"方志朋",选择"设为星标" 回复"1024"获取独家整理的学习资料 作者:glmapper juejin.im/post/5d57 ...

  6. 聊一聊-JAVA 泛型中的通配符 T,E,K,V,?

    前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据 ...

  7. Java泛型中的PECS原则

    今天在写代码的时候使用到了这样一个方法签名: public void foo(Map<String, String> map); 在写这个参数的时候正好在想一些关于泛型的东西,于是: pu ...

  8. Java泛型中? 和 ? extends Object的异同分析

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 刘一手 来源 | 公众号「锅外的大佬」 Jav ...

  9. JAVA 泛型中的通配符 T,E,K,V,?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入新技术 来源:8rr.co/2Xqx 前言 Java 泛型(generic ...

最新文章

  1. 常州大学 计算机与人工智能学院,第一届计算机视觉青年学者论坛(CVYSF)在常州大学举办...
  2. Android安全笔记-Intent和PendingIntent基本概念
  3. Spark Streaming的IDEA操作在spark操作的差别和解决
  4. java更新_java怎么更新
  5. Java开发环境搭建实验报告
  6. 计算机图形学——Bresenham画线算法
  7. 腾讯程序员的职业晋升答辩之【完全解析】
  8. stm32通过 一线串口通信控制JQ8900-16P语音模块
  9. 1986:【19CSPS提高组】格雷码
  10. K8S中的亲和,污点和容忍
  11. proxy代理解决跨域问题
  12. Python中strip()函数用法详解
  13. 实时时钟DS1302-第1季第14部分-朱有鹏-专题视频课程
  14. c语言中a 的用法,C语言中#define的用法
  15. DAPM-widget
  16. 软件项目管理笔记Software Project Management
  17. 巴菲特与搭档查理芒格手把手教你如何读财报,唯一一篇百看不厌炒股最实用文章
  18. 判断全角空格和半角空格
  19. 妙味课堂HTML课后练习 03 lesson 虾米
  20. 员工入职背景调查需要查哪些内容?

热门文章

  1. 实现Qemu aarch32虚拟开发板ping www.baidu.com
  2. 第二章:搭建Android开发环境(读后感)
  3. 利用FFmpeg生成视频缩略图 2.1.8
  4. 毕业后的第二个月的一点思绪
  5. [原]走过2007,我的2008
  6. vba 窗体所有组件 enabled_Csharp设计闪烁窗体制作教程
  7. android 防止截屏录屏
  8. ios 即时聊天轻松搞定
  9. Spring框架学习day_01: 框架配置方式/ 管理对象的作用域/ 生命周期/ 组件扫描/ 单例模式:“懒汉式“,“饿汉式“
  10. 计算机操作员中级操作试题,中级计算机操作员应知模拟考试试题(一)