泛型<T>Result<T>?
在泛型类Result<T>中,即public class Result<T>{}中有两个相同的方法,为什么第二个方法使用<T> Result<T>作为他的返回值?
*public static Result success(){ Result result=new Result<>();
}
public static <T> Result<T> success(T data){
Result<T> result=new Result<>(data)
}*
这两个T是一个东西吗
回答:
本质上是一样的,因为类型擦除后都是Object,加上范型方便在写代码上的类型检查
public <S> /* 这个S代表一个是可变类型 */void method(S s) {
}
public <C extends Exception> /*
这个相当于一种声名, 声名这个方法有一个局部范型, 至于叫什么没有限制
可以用于方法参数或者异常抛出,类型返回
*/
C method2(C c) throws C {
if(c instanceof NullPointerException) {
throw c;
}
return c;
}
回答:
在方法前面这个 <T>
你可以理解为是声明泛型,Java 里的泛型也是需要声明的,作用在类上的就会在 Class
处声明,作用在方法上的会在定义方法的位置声明。
以上是 泛型<T>Result<T>? 的全部内容, 来源链接: utcz.com/p/944395.html