本帖最后由 a12366456 于 2015-7-24 23:33 编辑
对于方法内需要new的不确定类型的引用型数据,怎么使用泛型?
具体需求是这样的:方法接收一个List集合型的参数,返回一个处理后新的同样类型的集合
所以,我想在方法内直接实例化一个泛型类的对象,但是没有这样的方式。代码如下,编译不通过。
- public static <T extends List<Q>,Q> T singleList(T t){
- T newT =new T();//我想做的就是这样实例化一个泛型类
- Iterator<Q> iterator=t.iterator();
- while(iterator.hasNext()){
- Q t2=iterator.next();
- if(!newT.contains(t2)){
- newT.add(t2);
- }
- }
-
- return newT;
- }
复制代码
最后只好引入外部变量做参数传递进去,代码如下,编译通过,但是我想要的是上面代码的效果
- public static <T extends List<Q>,Q> T singleList(T t,T newT){
- Iterator<Q> iterator=t.iterator();
- while(iterator.hasNext()){
- Q t2=iterator.next();
- if(!newT.contains(t2)){
- newT.add(t2);
- }
- }
-
- return newT;
- }
复制代码
|
|