泛型作为返回值

djcjcdj djcjcdj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如何理解下面代码中
<T>ServerResponse<T>
;两个泛型的使用,为什么需要第一个<T>,表示什么意思?
package com.mmall.common;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import java.io.Serializable;
import java.util.List;

/**
* Created by CJ on 2017/11/16.
*/
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class ServerResponse<T> implements Serializable{
private int status;
private String msg;
private T data;

public ServerResponse(int status) {
this.status = status;
}

public ServerResponse(int status, String msg) {
this.status = status;
this.msg = msg;
}

public ServerResponse(int status, T data) {
this.status = status;
this.data = data;
}

public ServerResponse(int status, String msg, T data) {
this.status = status;
this.msg = msg;
this.data = data;
}

@JsonIgnore
public boolean isSuccess(){
return this.status ==ResponseCode.SUCCESS.getCode();
}

public int getStatus() {
return status;
}
public String getMsg() {
return msg;
}
public T getData() {
return data;
}

public static <T> ServerResponse<T> createBySuccess(){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode());
}

public static <T>ServerResponse<T> createBySuccessMessage(String msg){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg);
}

public static <T>ServerResponse<T> createBySuccess(T data){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),data);
}

public static <T>ServerResponse<T> createBySuccess(String msg, T data){
return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(),msg,data);
}

public static <T>ServerResponse<T> createByError(){
return new ServerResponse<T>(ResponseCode.ERROR.getCode(),ResponseCode.ERROR.getDesc());
}

public static <T>ServerResponse<T> createByErrorMessage(String ErrorMessage){
return new ServerResponse<T>(ResponseCode.ERROR.getCode(),ErrorMessage);
}

public static <T>ServerResponse<T> createByErrorCodeMessage(int ErrorCode,String ErrorMessage){
return new ServerResponse<T>(ErrorCode,ErrorMessage);
}
}
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
djcjcdj
Java 51,407 成员 86,126 内容