<T> ResultData<T> 的理解

public static  ResultData error(String msg){
        return  new ResultData<>(ERROR_CODE,msg,null);
    }

上述定义中返回值为 ResultData,ResultData比较好理解,是返回值的意思,那么前边的是什么作用呢?

经过查找发现:

因为"静态方法"的调用"不需要"进行类的实例化, 也就"不确定"T的类型, 所以在定义静态方法时,在方法的返回值声明之前的位置(即 ResultData前边)进行声明,定义该方法所拥有的泛型标识符,个数可以是多个。


public static Response test(T2 t2,T3 t3){

}

"非静态方法"的调用"需要"进行类的实例化,当实例化后, 已经可以"确定"T的类型,所以在定义非静态方法时,声明可有或可无。

    public   ResultData dealingzhong(T t){
        return new ResultData<>(DEALING,DEALING_MSG,t);
    }
    public   ResultData dealingzhong1(T t){
        return new ResultData<>(DEALING,DEALING_MSG,t);
    }

上述两个均可以

你可能感兴趣的:(java基础,java,c++,spring)