我正在阅读教程,我发现了这个特殊的代码。
private <V> V fromJson(HttpRequest request, Class<V> target) throws IOException {
Reader reader = request.bufferedReader();
try {
return GSON.fromJson(reader, target);
} catch (JsonParseException e) {
throw new JsonException(e);
} finally {
try {
reader.close();
} catch (IOException ignored) {
// Ignored
}
}
}
我注意到fromJson函数有两种返回类型?我有泛型的基本概念及其工作原理。我无法理解的是如何指定两种类型以及该函数如何知道在调用它时将值赋给哪种类型。
答案 0 :(得分:7)
不,只有一种返回类型。 <V>
声明V
泛型类型参数(它使方法通用),之后的V
是实际的返回类型。