黑马程序员技术交流社区

标题: 关于泛型数组的问题 [打印本页]

作者: 李会成    时间: 2013-2-1 16:32
标题: 关于泛型数组的问题
本帖最后由 张向辉 于 2013-2-1 19:53 编辑

我定义了一个泛型方法,我要求返回一份泛型数组,这个数组可以存放任意类型的数据,

返回类型是泛型 那么我该用怎么定义接收这个泛型数组?

例如:T []  m=add("sss",1,2,3);  这样在主方法中定义的话报错

那么我该如何取得add()方法返回的泛型数组?
  1. public <T> T[] add(T... s)
  2.         {
  3.                
  4.                 return s;
  5.         }
复制代码

作者: 陈科宇    时间: 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