本帖最后由 麦者 于 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,是不是只能声明就不能添加啊? |