java 泛型通配符 直接源码

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类的
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值