/**
* @author myl
* @param 代返回数据 的 数据类型
*/
@JsonInclude(value = JsonInclude.Include.NON_NULL)
public class ResultVo {
private Integer status_code;
// Integer是int的包装类,int则是java的一种基本数据类型
// 2、Integer变量必须实例化后才能使用,而int变量不需要
// 3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
private String msg;
private T data;
问一个小问题,这里的T应该怎么理解呢?
这里的T是一个泛型,但是是什么样的泛型呢?
首先吐槽一下,CSDN问答频道已经被chatGPT占领。
T是一个泛型,通俗理解就是,可以指代任何类型。ResultVo<T>
,看这个定义就知道是用于controller接口层返回数据给前端。比如,返回用户信息,可以返回ResultVo<User>
;返回用户列表信息,可以返回ResultVo<List<User>>
;返回订单信息,可以返回ResultVo<Order>
。
前端拿到泛型data后,就可以进行相应的解析和数据渲染
方案来自 梦想橡皮擦 狂飙组基于 GPT 编写的 “程秘”
T 是一个类型参数,它的实际类型在调用时才会确定。意思是说,当这个类被实例化时,你可以指定T所代表的具体类型。例如:
ResultVo resultVo = new ResultVo();
这里,T被实例化为String类型。这样,在实例化的类中,所有使用到T的地方都将变成String类型。在这个例子中,data就是一个String类型的变量。
以下答案引用自GPT-3大模型,请合理使用:
示例。
T代表的是数据类型,举个例子,如果这个类是ResultVo<Integer>,那么T就代表了整数类型,如果是ResultVo<String>,那么T就代表了字符串类型。