在方法形参不同使用通配符

通配符的使用 

public void fun4() {
		List<Integer> integerList=new ArrayList<Integer>();
		print(integerList);
		List<String> stringList=new ArrayList<String>();
		print(stringList);
	}
	//问号代表通配符
	/**
	 * 通配符只能出现在左边!
	 * List<? extends Object> list=new ArrayList<String>();
	 * 问号不能出现在new那一块;?表示值类型不确定,调用时确定
	 * @param list
	 */
	public void print(List<? extends Object> list) {
		/**
		 * 当使用通配符,对泛型类中的参数为泛型的方法起到副作用,不能再使用
		 * 当使用通配符时,泛型类中的返回值为泛型方法,也作废
		 * 好处:可以使泛型类型更加通用,尤其时调用方法
		 */
		
	}
	/**添加限定
	 * 只能使用Number类型和子类型
	 * @param list
	 */
	public void print1(List<? extends Number> list) {
		/**
		 * 参数为泛型方法是不能再使用
		 * 返回值为泛型的方法可用
		 */
		Number number=list.get(0);
				
	}
	public void print2(List<? extends Integer> list) {
		/**
		 * 参数为泛型方法是能再使用
		 * 返回值为泛型的方法不可用
		 */
		
				
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值