java 泛型通配符 直接源码
来源:互联网 发布:英国商业数据分析硕士 编辑:程序博客网 时间:2024/06/03 20:54
package fanxing;import java.util.ArrayList;import java.util.List;public class tongpei {public static void main(String args[]){hehe1 x=new hehe1();hehe2 y=new hehe2();ArrayList<String> list=new ArrayList<String>();//x.paint1(l); 你以为List<String>是List<Object>的子类么 ,,你错了,,,哈哈 ,,怎么使用呢 通配符吧可以匹配任何类型y.paint1(list);}}class hehe1{public void paint(List c)//没有泛型声明就会引起警告{}public void paint1(List<Object>l){}}class hehe2{public void paint1(List<?>l)//使用通配符可以匹配任何类型的{//l.add(new Object()); 可是不能加入元素这个是为什么啊 引起编译错误/* * 因为都类型参数说明实际上但是一个问题就是 我不知道他是什么类型的 实际上表示是有类型参数要求的 *怎么办 不能加入 唯一能加入的就是null了 呵呵他才是通用的呢 *///但是却可以返回 原来不论如何他都是object类的}}