前端统一返回结果Result

@Data
public class Result<T> implements  Serializable {

        private Integer code; //编码:1成功,0和其它数字为失败
        private String msg; //错误信息
        private T data; //数据

        public static <T> Result<T> success() {
            Result<T> result = new Result<T>();
            result.code = 1;
            return result;
        }

        public static <T> Result<T> success(T object) {
            Result<T> result = new Result<T>();
            result.data = object;
            result.code = 1;
            return result;
        }

        public static <T> Result<T> error(String msg) {
            Result result = new Result();
            result.msg = msg;
            result.code = 0;
            return result;
        }

    }

在 Java 中,泛型的使用有一个特定的语法,其中 <T>T 的位置和含义略有不同。让我们逐一解释。

1. 泛型声明 <T>

  • 定义泛型:在类或方法的定义中,<T> 表示这是一个泛型类型的声明。这个 T 可以是任何类型的占位符,通常用来表示不特定的类型。它使得类或方法能够处理不同类型的数据。

    例如,在 Result<T> 类的声明中,<T> 表示这个类是一个泛型类,可以使用任意类型来替代 T

public class Result<T> implements Serializable { // ... }

2. 使用泛型 T

  • 实际使用:在类的内部,使用 T 来表示你在创建 Result 实例时传入的具体类型。这意味着 data 字段可以持有任何类型的数据,具体取决于实例化时使用的类型。
private T data; // data 可以是任何类型,具体类型在实例化时确定

3. 示例

考虑以下代码示例:

Result<String> stringResult = Result.success("Hello"); // T 被替换为 String Result<Integer> intResult = Result.success(123); // T 被替换为 Integer

在这两个实例中:

  • Result<String> 中,T 变成 String,因此 data 字段将持有一个字符串。
  • Result<Integer> 中,T 变成 Integer,因此 data 字段将持有一个整数。

总结

  • <T> 是泛型的声明:用于定义一个类、接口或方法是泛型的,允许它接受不同的类型参数。
  • T 是泛型的使用:在类或方法内部引用这个泛型类型,以便处理具体的类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值