public <E extends Foo> List<E> getResult(String s);
Foo我自己的课在哪里。
这个方法的返回类型是什么?为什么它似乎有两种返回类型?
不,您没有两种返回类型。这是您看到的通用方法。
<E extends Foo>→ 您正在为您的方法声明一个泛型类型;List<E>→ 这是您的返回类型。你的方法可以有一个泛型类型E,它是Foo. 该方法的返回类型是 a List<Foo-or-any-subtype-of-Foo>。
返回类型是List<E>. 该子句<E extends Foo>不是返回类型;它是一个泛型类型声明,指定特定类型E必须是 a Foo(或 的子类Foo)。这是声明泛型方法的标准语法。
查看与泛型有关的 Java文档。
<E extends Foo> // declares the bounds for the generic type `E`
List<E> // declares the return value
该方法的返回类型是List<E>.