Java 泛型 接口返回类 如何面对 空?
Java 接口返回类 中 泛型如何面对 返回值本应为null的情况??
在设计 web 应用中的返回基础类时,我会这样写
public class BaseResponse<T> implements Serializable { private static final long serialVersionUID = 1L; private int code; private String message; private T data; //... 省略构造方法等 public static BaseResponse success() { return new BaseResponse(); } public static BaseResponse success(String message) { return new BaseResponse(RespCodeEnum.SUCCESS, message); } //... 省略失败等 }
当在 controller 中 使用这些基础返回类进行数据包装时,通过泛型进行返回内容的指定
但 例如一些添加操作时,将不会有具体的返回值,只会返回 code 来判断是否操作成功
@PostMapping("/something") public BaseResponse postSomething(@Valid @RequestBody Something request) { //添加操作 //根据添加操作判断返回内容 // if success return new BaseResponse.success(); // if failed ... }
在上述代码中,我没有指定泛型类型,因为有些添加操作时,没有具体的返回值内容,我本来想写成 public BaseResponse<Void> postSomething,但在return时,却不知道该如何写。
想请问一下,指定泛型类型 理论上应该是都进行的(如果说错,请不要打我,个人想法 /(ㄒoㄒ)/~~),
但在这里如何进行正确的泛型类型指定呢(或者说需要指定泛型么)?
(太多知识不懂,天天来问 v 友,学到了很多,感谢感谢