java泛型中<?>和<T>有什么区别?
来源:互联网 发布:抓绒衣里面穿什么 知乎 编辑:程序博客网 时间:2024/04/27 22:34
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的父类型。
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?
- java泛型中<?>和<T>有什么区别?(转)
- C++中vector<T>*和vector<T*>有什么区别
- 国标 GB和GB/T有什么区别
- 汽车排量T和L有什么区别
- class<T>和 class<?>类型 有什么区别
- class<T>和 class<?>类型 有什么区别
- class<T>和 class<?>类型 有什么区别
- class<T>和 class<?>类型 有什么区别
- java和c++有什么区别??
- 简单的web分享
- 常用类
- Vue.js 子组件更新视图
- JS编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数
- 三种方法实现斐波那契数列
- java泛型中<?>和<T>有什么区别?
- [日推荐]『传图识字』让人工智能帮你识别照片里的文字!
- SQL--关键字的一些内容
- 格力创始人朱江洪开撕董明珠:傲慢自大,多元化战略必将失败
- 周立功阅读笔记-CANopen轻松入门基于DS301(一)
- 十一月七日课堂笔记-居中和对齐、CSS3新特性
- 解决tomcat服务器重启之后session不失效的问题
- 各种程序员教程:http://www.runoob.com/
- win10下Anaconda中Keras安装