0

我正在阅读一个教程,我发现了这个特定的代码。

 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 函数有两种返回类型?我有泛型的基本概念以及它是如何工作的。我无法理解的是如何指定两种类型,以及该函数如何知道在调用时将值分配给哪种类型。

4

1 回答 1

7

不,只有一种返回类型。<V>声明V泛型类型参数(它使方法泛型),V之后是实际的返回类型。

这是有关 Java 中的泛型方法的更多信息

于 2013-07-11T23:03:35.523 回答