关于ArrayList用泛型的问题

J2EE 码拜 9年前 (2015-07-18) 995次浏览 0个评论
 

写了一个方法,输入一个字符串,根据特定的字符拆分,然后把值赋给一个对象。
举个例子,输入aa*bb*11,得到对象,对象有三个属性,调用该方法后值分别是aa,bb和11。
这个方法里,实参的对象类型是确定,形参用了Object类型,已经实现了。

现在在以上基础上,想实现输入一个字符串,拆分后,组成一个ArrayList。
举例,输入aa*bb*11#cc*dd*22,然后先根据#拆成两个字符串存入一个数组,再循环这个数组,用上面的方法得到对象,
现在问题是arraylist的add这个对象的时候编译出错了。
这个方法的实参类型是确定的,比如ArrayList<Cls> cls,形参是用了ArrayList<? extends Object>,泛型我依然是一知半解,但感觉是因为类型不确定无法把对象存入ArrayList,有没有解决方法?

#1

	public static void fym_func005(
		String str,
		ArrayList<? extends Object> al_obj)
{
Object obj = null;
al_obj.add(obj);
}

调用处

fym_func005(str, ArrayList<Lym> lym);

#2

回复1楼:

补充下,我把怎么得到obj的代码给省略了,实际在add的时候,obj是有指向的,不是一个null值。

20分

#3

? extends Object  这个去掉,毫无用处,本身默认就是object

#4

回复3楼:

外面的实参不是Object,是一个具体的对象类型。
去掉泛型定义会编译出错的。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于ArrayList用泛型的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!