您的位置:首页 > 其它

?通配符 以及扩展通配符在范型中的应用。。。。。。。。。。。。。。。。。。

2012-02-06 14:49 330 查看
一、通配符

?标识的范型化对象,可以标识任意类型的范型化 ,可以将任意类型化的值赋值给 ?通配符所规范化的类。 可以将任意类型的范型化类型 赋值给?通配符范型化的类型 。

Collection<Integer> c=new ArrayList() ;

c.add(1) ;

c.add(5); //jdk1.5的自动装箱子=功能

showCollection(c) ;

public static void showCollection(Collection <?> col) //加上了?通配符类型化的集合 可以传递不同类型化的集合 ,但是只能调用与类型化无关的方法 与类型化有关的方法不可以调用

{

System.out.println(col.size());

for(Object obj:col)

{

System.out.println(obj);

}

}

二、扩展通配符

Collection <? extends java.lang.String> //表示集合元素是Java.lang.String 或者他的派生类

Collection <? super java.lang.String> //表示集合元素是Java.lang.String 或者他的父类

Collection<? super String>cc=new ArrayList<Object>() ; //可以将包含String或者String的基类的集合赋值给 通配符类型化的集合 ,其他类型也可以

Collection<? extends Object> c=new ArrayList<Integer>() ; //Object 以及继承自他的 类都能赋值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐