Java泛型,一种用于强制上级或子类型的方法

句法

假设我有一个这样的类和方法:

class MyClass<T> {

    void doStuff(Wrapper<T> wrapper) {
        //impl.
    }
}

可以修改参数“包装器”的通用范围,Wrapper<? extends T>以使该方法接受T的子类型,并Wrapper<? super T>接受超类型。但是,是否有一种方法可以修改MyClass,使其同时接受T的子类型和超类型(而不是任何类型),并且只有一个方法名称?(可能有过载)

Wrapper<?>当然可以同意,但是“接受任何东西”与“接受T的类层次结构中的东西”并不相同。我还可以制作2种单独的方法,一种使用<? super T>,一种使用<? extends T>,但是这些方法将需要使用不同的名称,因为擦除后的签名是相同的。

注意:出于好奇,请考虑此问题。

米奇德

您可以尝试以下

<S extends T> void doStuff(Wrapper<? super S> wrapper)

但需要仔细检查是否可以满足您的要求。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中是否有一种方法可以将泛型约束为一种类型或另一种类型?

来自分类Dev

一种泛型类型的多个where约束

来自分类Dev

Scala泛型:代表一种类型的缺失

来自分类Dev

用另一种泛型类型替换泛型类型的快捷方式?

来自分类Dev

有没有一种方法可以将类强制转换为具有特定参数的类java.lang.Class <>泛型?

来自分类Dev

有没有一种方法可以指定嵌套的泛型而不在Java 8+中两次指定类型

来自分类Dev

有没有一种方法可以从TypeScript中的泛型类型推断出泛型类型?

来自分类Dev

java泛型子类型列表和方法错误

来自分类Dev

将特定于类和特定于方法的泛型封装为一种类型

来自分类Dev

有没有一种方法可以从作为泛型传递的接口中推断特定值的类型?

来自分类Dev

C#如何对具有泛型类型的两个类使用一种方法?

来自分类Dev

泛型Java通配符和子类型

来自分类Dev

泛型类型子类

来自分类Dev

一种用于更改类型的模板的解决方法

来自分类Dev

有没有一种方法可以将泛型类型限制为一组类型的成员?

来自分类Dev

Java泛型和强制转换泛型类型

来自分类Dev

根据实现中使用的泛型(应用类型)使用接口的一种实现

来自分类Dev

在另一种支持泛型的类型中使用impl Trait

来自分类Dev

我是否以一种很好的方式返回了泛型类型

来自分类Dev

根据实现中使用的泛型(应用类型)使用接口的一种实现

来自分类Dev

是否有一种设计模式可以强制初始化子类实现的方法?

来自分类Dev

用于枚举实现的方法签名的 Java 泛型类型

来自分类Dev

如何将任何类型的泛型类型转换为另一种类型

来自分类Dev

有没有一种方法可以将Maybe构造函数应用于具有泛型的每个记录字段?

来自分类Dev

根据Java中的子类类型定义父类方法的泛型类型

来自分类Dev

Scala泛型:专门化一种方法

来自分类Dev

当使用Option :: None时,是否有一种方法可以提示编译器使用某种默认的泛型类型?

来自分类Dev

在Haskell中是否有一种有效的方法来生成给定泛型(尤其是带monads)类型签名的函数?

来自分类Dev

我应该始终使用通配符作为函数参数的泛型类型还是只传递一种泛型类型的实例?

Related 相关文章

  1. 1

    在Swift中是否有一种方法可以将泛型约束为一种类型或另一种类型?

  2. 2

    一种泛型类型的多个where约束

  3. 3

    Scala泛型:代表一种类型的缺失

  4. 4

    用另一种泛型类型替换泛型类型的快捷方式?

  5. 5

    有没有一种方法可以将类强制转换为具有特定参数的类java.lang.Class <>泛型?

  6. 6

    有没有一种方法可以指定嵌套的泛型而不在Java 8+中两次指定类型

  7. 7

    有没有一种方法可以从TypeScript中的泛型类型推断出泛型类型?

  8. 8

    java泛型子类型列表和方法错误

  9. 9

    将特定于类和特定于方法的泛型封装为一种类型

  10. 10

    有没有一种方法可以从作为泛型传递的接口中推断特定值的类型?

  11. 11

    C#如何对具有泛型类型的两个类使用一种方法?

  12. 12

    泛型Java通配符和子类型

  13. 13

    泛型类型子类

  14. 14

    一种用于更改类型的模板的解决方法

  15. 15

    有没有一种方法可以将泛型类型限制为一组类型的成员?

  16. 16

    Java泛型和强制转换泛型类型

  17. 17

    根据实现中使用的泛型(应用类型)使用接口的一种实现

  18. 18

    在另一种支持泛型的类型中使用impl Trait

  19. 19

    我是否以一种很好的方式返回了泛型类型

  20. 20

    根据实现中使用的泛型(应用类型)使用接口的一种实现

  21. 21

    是否有一种设计模式可以强制初始化子类实现的方法?

  22. 22

    用于枚举实现的方法签名的 Java 泛型类型

  23. 23

    如何将任何类型的泛型类型转换为另一种类型

  24. 24

    有没有一种方法可以将Maybe构造函数应用于具有泛型的每个记录字段?

  25. 25

    根据Java中的子类类型定义父类方法的泛型类型

  26. 26

    Scala泛型:专门化一种方法

  27. 27

    当使用Option :: None时,是否有一种方法可以提示编译器使用某种默认的泛型类型?

  28. 28

    在Haskell中是否有一种有效的方法来生成给定泛型(尤其是带monads)类型签名的函数?

  29. 29

    我应该始终使用通配符作为函数参数的泛型类型还是只传递一种泛型类型的实例?

热门标签

归档