【发布时间】:2016-09-26 09:23:54
【问题描述】:
我有一个抽象类,它有两种方法如下:
public abstract class SessionExecutionBody {
public Object execute() {
executeWithoutResult();
return null;
}
public void executeWithoutResult() {}
}
我实现的类如下:
final HTTPDestination destination = sessionService.executeInLocalView(new SessionExecutionBody() {
@Override
public Object execute() {
userService.setCurrentUser(userService.getAdminUser());
final String destinationName = getConfigurationService().getConfiguration().getString(DESTINATION_PROPERTY);
return getHttpDestinationService().getHTTPDestination(destinationName);
当我运行 sonarLint 时,它显示的主要问题是将此匿名类转换为 lambda 表达式,但我无法找到正确的方法,我可以将该表达式转换为 lambda 吗?
【问题讨论】:
-
您不能从抽象类创建 lambda 表达式。 Lambda 只能从函数式接口创建。
标签: java lambda java-8 anonymous-class