黑马程序员技术交流社区
标题:
通配符?的问题,卡这里了
[打印本页]
作者:
麦者
时间:
2013-10-17 11:08
标题:
通配符?的问题,卡这里了
本帖最后由 麦者 于 2013-10-17 13:12 编辑
基础加强里面的
package com.test;
import java.sql.Date;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
class Test{
//该方法用于打印出任意参数化类型的集合中的所有数据
public static void printCollection(Collection<?> cols) {
for(Object obj:cols) {
System.out.println(obj);
}
//cols.add("string");//错误,因为它不知自己未来匹配就一定是String
cols.size();//没错,此方法与类型参数没有关系
cols = new HashSet<Date>();
}
}
复制代码
既然加入String错误,即不匹配的意思,那么 cols = new HashSet<Date>();怎么就可以为Date类型的呢?我在上面的代码中改成
cols = new HashSet<String>();
cols.add("string");
复制代码
错误提示为把add改为addAll,是不是只能声明就不能添加啊?
作者:
麦者
时间:
2013-10-17 13:11
自己悟吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2