以下代码对我来说非常困惑.
public class Test<T> {
public static <T> Test<T> ok(T result) {
..
Run Code Online (Sandbox Code Playgroud)
我理解班级名称中的泛型.我能理解"ok"方法是否会像这样
public static Test<T> ok(T result) {
Run Code Online (Sandbox Code Playgroud)
或这个
public static T ok(T result) {
Run Code Online (Sandbox Code Playgroud)
但是为什么在Test <T>返回类型之前有额外的<T>我不明白.
这个例子实际上相当于
public class Test<T> {
public static <U> Test<U> ok(U result) {
..
Run Code Online (Sandbox Code Playgroud)
另一个<T>是指不同的泛型类型,仅适用于该方法.为避免混淆,最好为不同的事物使用不同的名称.