如果使用我的服务使用Java 8 lambda / streams列表不为空,如何从列表中删除每个元素

问题描述 投票:0回答:1

您好我想使用java 8更新此遗留代码。

if(CollectionUtils.isNotEmpty(listOfObjects){
 for(Object o : listOfObjects){
     objectService.delete(o);
  }
 }

我是java 8和lambda表达式的新手,我想使用它并尽可能地重塑我的代码。不是因为它总是很重要,而是因为我想要习惯它能够更容易地学习它。

java list lambda service java-stream
1个回答
2
投票

虽然你的问题是要求从列表中删除元素,如果它不是空的,你可以简单地使用list.clear()来清除它。关于遗留代码重构以使用Java8功能;

if(CollectionUtils.isNotEmpty(listOfObjects)) {
  for(Object o : listOfObjects){
    objectService.delete(o);
  }
}

可以转换为使用如下method references

listOfObjects.forEach(objectService::delete)

如果你有一个只接受method references参数的方法,这是一个使用Object的更好的地方。

© www.soinside.com 2019 - 2024. All rights reserved.