如何使用泛型返回泛型类的类类型?

Iarwa1N

假设我有一个像这样的接口;

public interface Validator<T> {
    Class<T> type();
}

如果我想用一个对象来实现这个接口,那没有任何问题。

public OrderValidator implements Validator<Order>{ 
   Class<Order> type(){ 
      return Order.class; 
   }
}

但是,如果我将Collection作为这样的通用类型传递,则无法实现此接口;

public CollectionValidator implements Validator<Collection<Item>>{

    Class<Collection<Item>> type(){
        //how can I implement this method to return type of Collection<Item> ?
    }
}

如何实现type()返回类型的方法Collection< Item>

Collection< Item>.class 不起作用。

半位

如果您只想使其编译,请尝试:

public interface Validator<T> {
    Class<T> type();
}
public static class CollectionValidator<Item> implements Validator<Collection<Item>>{
    @SuppressWarnings("unchecked") 
    public Class<Collection<Item>> type() {
        return (Class<Collection<Item>>) (Class<?>) Collection.class;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

泛型-使用父类在泛型中指定类型

来自分类Dev

Java泛型:如何为泛型类型化的类指定类类型?

来自分类Dev

使用类对象作为泛型类型

来自分类Dev

泛型ObjectPool-如何返回泛型类?

来自分类Dev

如何在泛型类中返回对象的泛型类型?

来自分类Dev

如何使用类型的辅助类泛型

来自分类Dev

使用类实例作为泛型类型

来自分类Dev

从泛型类返回数组

来自分类Dev

在泛型类中使用匿名类型

来自分类Dev

如何在泛型类中返回“ this”?

来自分类Dev

如何为泛型类指定泛型集合类型?

来自分类Dev

如何返回泛型类型的类

来自分类Dev

泛型类型参数C#-如何泛型类返回类型

来自分类Dev

如何使用泛型创建AutoValue类?

来自分类Dev

如何使用“ typeof”从泛型类获取类型?

来自分类Dev

在C#中的基类中使用泛型:如何确保基类中的方法返回派生类的类型?

来自分类Dev

如何定义不是类的泛型类型?

来自分类Dev

如何从方法返回泛型类?

来自分类Dev

泛型类使用泛型参数

来自分类Dev

如何在类中使用扩展的泛型类型的类型?

来自分类Dev

如何使用类标记保留嵌套泛型的泛型类型

来自分类Dev

如何使用泛型设计多态类

来自分类Dev

如何使用主类中的方法从嵌套类中返回泛型类型

来自分类Dev

使用泛型返回从类型中提取的正确类

来自分类Dev

如何使用泛型类型声明类 - Java 1.7

来自分类Dev

使用泛型替换特定的类类型

来自分类Dev

如何在非泛型静态类的多个方法中使用相同的泛型类型

来自分类Dev

使用类泛型构造的子类型

来自分类Dev

如何使用已知类型作为参数创建具有泛型的泛型类?

Related 相关文章

热门标签

归档