java不想每个操作都写try{}catch(E),java8带来的好处
默认是不出现Exception就是操作成功,
你也可以通过,在实际的业务场景在Lambda体中自定义返回是否成功以及返回的message
返回类
public class ResponseResult {
private boolean success;
private String message;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String toString() {
return "ResponseResult [success=" + success + ", message=" + message + "]";
}
public ResponseResult(boolean success, String message) {
super();
this.success = success;
this.message = message;
}
public ResponseResult() {
super();
}
}
Helper类
import java.util.function.Consumer;
public class CommonHelper {
public static ResponseResult excute(Consumer<ResponseResult> consumer) {
ResponseResult result;
try {
result = new ResponseResult(Boolean.TRUE, "成功");
consumer.accept(result);
} catch (Exception e) {
result = new ResponseResult(Boolean.FALSE, e.getMessage());
}
return result;
}
}
例子
import org.junit.Test;
import com.polaris.thinkjava.CommonHelper;
import com.polaris.thinkjava.ResponseResult;
public class Jdk8 {
int i = 10;
@Test
public void test() {
ResponseResult result = excute();
System.out.println(result);
}
public ResponseResult excute() {
return CommonHelper.excute(r->{
System.out.println(i);
r.setSuccess(true);
r.setMessage("操作成功");
});
}
}