java返回结果统一封装
时间: 2023-07-19 22:08:45 浏览: 102
在Java中,我们经常需要对方法的返回结果进行封装,以便在调用端能够方便地处理返回结果。这样做可以提高代码的可读性和可维护性。一种常见的做法是使用Java的泛型机制,定义一个统一的返回结果类,如下所示:
```
public class Result<T> {
private int code;
private String message;
private T data;
// 省略构造器和getter/setter方法
// 静态工厂方法,表示成功的返回结果
public static <T> Result<T> success(T data) {
Result<T> result = new Result<>();
result.setCode(200);
result.setMessage("success");
result.setData(data);
return result;
}
// 静态工厂方法,表示失败的返回结果
public static <T> Result<T> failure(int code, String message) {
Result<T> result = new Result<>();
result.setCode(code);
result.setMessage(message);
return result;
}
}
```
在这个类中,我们定义了三个字段:code、message和data,分别表示返回结果的状态码、状态消息和返回数据。我们还定义了两个静态工厂方法,分别表示成功的返回结果和失败的返回结果。
使用这个类,我们可以在方法中返回一个Result类型的对象,表示方法的执行结果:
```
public Result<User> getUserById(int id) {
User user = userDao.getUserById(id);
if (user != null) {
return Result.success(user);
} else {
return Result.failure(404, "User not found");
}
}
```
在调用端,我们可以通过判断返回结果的状态码来判断方法是否执行成功,并通过获取返回结果的数据来获取方法执行的结果:
```
Result<User> result = userService.getUserById(id);
if (result.getCode() == 200) {
User user = result.getData();
// 处理成功的情况
} else {
String message = result.getMessage();
// 处理失败的情况
}
```
这样,我们就可以通过一个统一的返回结果类来封装方法的返回结果,提高代码的可读性和可维护性。
阅读全文