java泛型中<?>和<T>区别
来源:互联网 发布:豆豆软件 编辑:程序博客网 时间:2024/05/01 20:23
示例代码
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);}}
- 当一个类型变脸用来表达两个参数之间或者参数与返回值之间的关系时,即统一各类型变量在方法签名的两处被使用,或者类型变量在方法体代码中也被使用而不仅 仅在签名的时候使用,这是应该用自定义泛型。泛型方可以调用一些时间类型的方法。比如集合的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://www.cnblogs.com/Vcanccc/p/5701351.html
阅读全文
0 0
- java泛型中<?>和<T>区别
- Java 泛型中? super T和? extends T的区别
- Java 泛型中? super T和? extends T的区别
- java泛型中<? super T> 和<? extends T>的区别---转发
- Java泛型中? super T和? extends T的区别
- Java 泛型中? super T和? extends T的区别
- java 泛型中T和?的区别
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- Java中 <? super T>,<? extends T>,和<T>的区别
- Java中 <? super T>,<? extends T>,和<T>的区别
- Java并发——线程同步Volatile与Synchronized详解
- 二、栈、队列和链表
- python 创建使用模块
- hadoop学习流程
- 后台传递Json数据封装在table中
- java泛型中<?>和<T>区别
- 获取当前文档中的标高
- 恒德智能家居系统大行业解决方案
- Linux常用文本比对命令——diff
- 常考的Ajax面试题
- android:使用audiotrack 类播放wav文件
- learn opencv-使用forEach进行并行像素访问
- UDS诊断服务中网络层对应用层数据的封装(15765.2)
- CSDN-markdown编辑器