java - 通用非静态方法的用例有哪些?

标签 java generics

在类本身不具有泛型的情况下,拥有非静态方法泛型的有效用例是什么?

示例:

public class A {
    <T> T someMethod(T param) {
        //use case?
    }
}

如上所示,类没有参数化,但方法是。什么时候可以使用这样的结构?

请注意,上面的代码只是一个示例。我对所有返回类型或参数都满意。我只是对通用非静态方法的有效用例感兴趣。

最佳答案

一个用例是推断编译时类型,但这需要您的方法具有实际的返回类型,而不仅仅是 void

这是来自 GSON 的示例

public <T> T fromJson(JsonElement json, Type typeOfT) throws JsonSyntaxException {
    if (json == null) {
      return null;
    }
    return (T) fromJson(new JsonTreeReader(json), typeOfT);
  }

关于java - 通用非静态方法的用例有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59398190/

相关文章:

当存在多个类时,Java 中 ArrayList 出现问题并帮助修复代码

java - 泛型:Treeset 添加子类

android - AsyncTask 不是通用的?

java - 连接官方 Clash Royale API 时出现错误 403

java - 如何对 GZip Encoder.class 编码的 JSON 响应进行编码

ios - 转换为不相关的类型总是失败

c# - 通用约束

c# - CollectionAssert 与泛型一起使用?

java - 为对话框添加额外内容

java - Android Sqlite3 - 由命令行创建的列,但不是从我的 Android 代码创建的