黑马程序员技术交流社区
标题:
关于泛型数组的问题
[打印本页]
作者:
李会成
时间:
2013-2-1 16:32
标题:
关于泛型数组的问题
本帖最后由 张向辉 于 2013-2-1 19:53 编辑
我定义了一个泛型方法,我要求返回一份泛型数组,这个数组可以存放任意类型的数据,
返回类型是泛型 那么我该用怎么定义接收这个泛型数组?
例如:T [] m=add("sss",1,2,3); 这样在主方法中定义的话报错
那么我该如何取得add()方法返回的泛型数组?
public <T> T[] add(T... s)
{
return s;
}
复制代码
作者:
陈科宇
时间:
2013-2-1 17:28
public class GenericTest {
public <T> T[] add(T[] s)
{
return s;
}
public static void main(String[] args)
{
GenericTest gt=new GenericTest();
Object[] t1=new Object[]{"sss",1,2,3};
Object[] t2=gt.add(t1);
}
}
朋友,T是你在泛型方法定义时针对任意类型的一个代表符号。但是请记住,在方法调用的时候,必须有确定的数组对象类型。如果你想要做的是一个存放各种类型的数组,最好的就是使用Object。Object是所有类的父类。希望你多关注一下java的继承特性,对你进一步学习很有帮助。
作者:
陈科宇
时间:
2013-2-1 17:31
我要提醒的是,一个数组里放各种毫不相干的数据类型的数据并不是好的编程思路。数组的连续存放确定个数的同类型的数据。
作者:
李培根
时间:
2013-2-18 11:36
请勿复制他人帖子,技术分不是入学的门槛而是为了帮助大家学习而存在的。
请勿再次发此类帖子了!
此贴就关闭了。此后如有再次发现直接封禁处理,请看到此贴的会员也加以注意。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2