如何将错误处理方法转换为 Lambda 函数

How can I convert an error handling method into a Lambda function

是否可以将此方法修改为 lambda 函数?

public static <T> void checkResponse(Response<T> response, String errorMessage, Map<String,String> values) throws IOException {
    if (!response.isSuccessful()) {
        String message = StringSubstitutor.replace(errorMessage, values);
        logger.error(message);
        throw new RuntimeException(message, null);
    }
}

首先,定义一个带有适当参数的接口,然后你可以使用lambda来实现它。

@FunctionalInterface
interface ResponseHandler<T> {
   void handleResponse(Response<T> response, String errorMessage, Map<String,String> values);
}
// ...
ResponseHandler handler = (response, errorMessage, values) -> {
    if (!response.isSuccessful()) {
        String message = StringSubstitutor.replace(errorMessage, values);
        logger.error(message);
        throw new RuntimeException(message, null);
    }
};
// Call it:
handler.handleResponse(...);