A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 a12366456 于 2015-7-24 23:33 编辑

对于方法内需要new的不确定类型的引用型数据,怎么使用泛型?
具体需求是这样的:方法接收一个List集合型的参数,返回一个处理后新的同样类型的集合
所以,我想在方法内直接实例化一个泛型类的对象,但是没有这样的方式。代码如下,编译不通过。
  1. public static <T extends List<Q>,Q> T singleList(T t){
  2.                 T newT =new T();//我想做的就是这样实例化一个泛型类
  3.                 Iterator<Q> iterator=t.iterator();
  4.                 while(iterator.hasNext()){
  5.                          Q t2=iterator.next();
  6.                         if(!newT.contains(t2)){
  7.                                 newT.add(t2);
  8.                         }
  9.                 }
  10.                
  11.                 return newT;
  12.         }
复制代码



最后只好引入外部变量做参数传递进去,代码如下,编译通过,但是我想要的是上面代码的效果
  1. public static <T extends List<Q>,Q> T singleList(T t,T newT){
  2.                 Iterator<Q> iterator=t.iterator();
  3.                 while(iterator.hasNext()){
  4.                          Q t2=iterator.next();
  5.                         if(!newT.contains(t2)){
  6.                                 newT.add(t2);
  7.                         }
  8.                 }
  9.                
  10.                 return newT;
  11.         }
复制代码





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马