实际上,我想抛出两个异常作为检查两个条件的一部分。但是想知道如何在流式传输和映射之后引发这些异常。
这是使用Streams转换为Java-8的代码
.sdf
答案 0 :(得分:1)
您只需将简单的流应用于每个,如下所示:
group.getGroupCallCenters().stream().forEach((existingGroupCall) ->
{
if(!existingGroupCall.getCallCenter()
.getId().equals(accountCallCenterResource.getCallCenterId()))
{
if
(!accountCallCenterResource.getValidity().getEffectiveStarting()
.isAfter(existingGroupCall.getExpirationDate())
&& !existingGroupCall.getEffectiveDate()
.isAfter(accountCallCenterResource.getValidity().getExpiresAfter()))
{
throw new ApiException(ApiErrorCode.DEFAULT_400, "Group call center already exist for that period");
}
}
else {
throw new DuplicateException(ApiErrorCode.DUPLICATE,
existingGroupCall.getId());
}
});
您没有在代码中提及accountCallCenterResource
对象。您必须确保accountCallCenterResource
是final或有效的final,才能在stream方法中使用它。
要获得更详细的了解,您可以参考this