Java Iambda表达式编译错误
我使用的ConcurrentHashMap搜索方式如下:Java Iambda表达式编译错误,java,lambda,concurrenthashmap,Java,Lambda,Concurrenthashmap,我使用的ConcurrentHashMap搜索方式如下: map.search(1, (k, v) -> { return v.size() > 10 ? k : null; }); 但是,当我删除大括号时,会出现编译错误: map.search(1, (k, v) -> return v.size() > 10 ? return k : null; ); 我想删除大括号,因为它是lambda表达式中的单个语句 更新:更正打字错误由于有2条返回语句,您可
map.search(1, (k, v) -> {
return v.size() > 10 ? k : null;
});
但是,当我删除大括号时,会出现编译错误:
map.search(1, (k, v) ->
return v.size() > 10 ? return k : null;
);
我想删除大括号,因为它是lambda表达式中的单个语句
更新:更正打字错误由于有2条返回语句,您可以使用上面发布的大括号:
map.search(1, (k, v) -> {
return v.size() > 10 ? return k : null;
});
或者您需要删除其他退货:
map.search(1, (k, v) -> {
return v.size() > 10 ? k : null;
});
有关更多信息,请访问以下链接:
return语句不是表达式,而是语句。在lambda表达式中,必须将语句括在{}大括号中。有关更多详细信息,您可以在此处学习:
然后也删除
返回,cf..尝试:->v.size()>10?k:null
@jensgram是的,就是这个问题!