泛型<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 处声明,作用在方法上的会在定义方法的位置声明。

以上是 泛型&lt;T&gt;Result&lt;T&gt;? 的全部内容, 来源链接: utcz.com/p/944395.html

回到顶部