在java 7中将java 8 lambda表达式转换为列表操作
我正在尝试转换这段代码以去掉lambda表达式,这样它就可以在Java7中工作在java 7中将java 8 lambda表达式转换为列表操作,java,lambda,Java,Lambda,我正在尝试转换这段代码以去掉lambda表达式,这样它就可以在Java7中工作 pausedTriggerGroups.stream(). forEach((group) -> { pausedTriggerGroups.remove(group); }); 我在java7中的代码如下 pausedTriggerGroups.removeAll(pausedTriggerGroups); 这是: triggersByK
pausedTriggerGroups.stream().
forEach((group) -> {
pausedTriggerGroups.remove(group);
});
我在java7中的代码如下
pausedTriggerGroups.removeAll(pausedTriggerGroups);
这是:
triggersByKey.values(new TriggerByJobPredicate(jobKey))
.stream()
.map(v -> (OperableTrigger) v.getTrigger())
.collect(Collectors.toList());
triggersByKey.values().stream().
filter((trigger) -> (trigger.jobKey.equals(jobKey))).
forEach((trigger) -> {
trigList.add(trigger);
});
为此:
List<OperableTrigger> result= new ArrayList<>();
for (TriggerWrapper value : triggersByKey.values()) {
result.add(value.getTrigger());
}
for (TriggerWrapper triggerWrapper : triggersByKey.values()) {
if(triggerWrapper.getTrigger().getJobKey().equals(jobKey)){
trigList.add(triggerWrapper);
}
}
为此:
List<OperableTrigger> result= new ArrayList<>();
for (TriggerWrapper value : triggersByKey.values()) {
result.add(value.getTrigger());
}
for (TriggerWrapper triggerWrapper : triggersByKey.values()) {
if(triggerWrapper.getTrigger().getJobKey().equals(jobKey)){
trigList.add(triggerWrapper);
}
}
转换良好或有一些错误?
pausedTriggerGroups.removeAll(pausedTriggerGroups)
只是pausedTriggerGroups.clear()
真的。术语说明:流管道不是lambda表达式。它通常只使用lambda表达式。谢谢,但是转换很好?关于您的第一个代码块:在基于它的流仍然处于活动状态时更改集合可能会给您带来问题。您的第一个代码可能无法与Java 8或Java 7一起工作;在这两种情况下都需要清除()。对于第二个问题,不清楚newtriggerbyjobpredicate(jobKey)
应该做什么,或者您正在使用什么values()
来接受谓词。第三次转换很好。pausedTriggerGroups.removeAll(pausedTriggerGroups)
只是pausedTriggerGroups.clear()
真的。术语说明:流管道不是lambda表达式。它通常只使用lambda表达式。谢谢,但是转换很好?关于您的第一个代码块:在基于它的流仍然处于活动状态时更改集合可能会给您带来问题。您的第一个代码可能无法与Java 8或Java 7一起工作;在这两种情况下都需要清除()。对于第二个问题,不清楚newtriggerbyjobpredicate(jobKey)
应该做什么,或者您正在使用什么values()
来接受谓词。第三次转换很好。