This question already has answers here:
How to convert this code to java8 lambda
(3个答案)
5年前关闭。
以下代码是与
是否有可能/建议使用新的Java 1.8 Lambda表达式重构此代码?如果是,怎么办?
(3个答案)
5年前关闭。
以下代码是与
spring
框架一起使用的常见构造。其目的是提供配置类,该类本身提供所需的实现类,此处为AsyncUncaughtExceptionHandler
。是否有可能/建议使用新的Java 1.8 Lambda表达式重构此代码?如果是,怎么办?
@Component
public class AsyncConfigurer extends AsyncConfigurerSupport {
@Autowired
private CustomService service;
@Autowired
private Logger logger;
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return new AsyncUncaughtExceptionHandler() {
@Override
public void handleUncaughtException(Throwable ex, Method method, Object... params) {
service.call();
logger.fatal(ex);
}
};
}
}
最佳答案
是否要执行此操作取决于您自己;这主要是风格问题。
如果您这样做,它将看起来像这样:
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return (ex, method, params) -> {
service.call();
logger.fatal(ex);
};
}