在类本身不具有泛型的情况下,拥有非静态方法泛型的有效用例是什么?
示例:
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/