泛型作为返回值
如何理解下面代码中
<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);
}
}
...全文
相关推荐
动态初始化类+参数泛型化+统一返回值.zip
在Java编程中,"动态初始化类"、"参数泛型化"和"统一返回值"是三个关键概念,它们在构建高效、灵活和可维护的软件系统中扮演着重要角色。接下来,我们将深入探讨这三个主题。1.
Java泛型使用
方法内部可以使用这个类型参数来约束参数和返回值。1.3 泛型在类中使用泛型也可以应用在类的声明上,这样类的属性和方法都能使用该类型参数。
深入解析C#编程中泛型委托的使用
无论是用于有返回值的操作还是事件处理,泛型委托都能让我们的程序更加高效和健壮。
Java泛型<T> T与T的使用方法详解
<T> T的用法是,表示返回值T的类型是泛型,T是一个占位符,用来告诉编译器,这个东西是先给我留着,等我编译的时候再告诉你是什么类型。
Java泛型类与泛型方法的定义详解
在泛型方法中,`T`可以用来定义返回值和参数。


