Boolean isSuccess = true;
if(aMap.size() != bMap.size())
{
return false;
}
aMap.entrySet().forEach(entry -> {
AKey aKey = entry.getKey();
BValue bValue = bMap.get(aKey);
if(bValue == null)
return;
AValue aValue = entry.getValue();
if(!aValue.getClosed().equals(bValue.getClosed()))
return;
if(!aValue.getClosedToArrival().equals(bValue.getClosedToArrival()))
return;
if(!aValue.getClosedToDeparture().equals(bValue.getClosedToDeparture()))
return;
if(!aValue.getLengthOfStayArrival().equals(bValue.getLengthOfStayArrival()))
return;
});
return isSuccess;
유효성 검사 실패시 어떻게 false를 반환 할 수 있습니까? 내가는 다음과 같이, 반환이 거짓 추가하려고 :Java 8 forEach에 대한 반송
if(!aValue.getLengthOfStayArrival().equals(bValue.getLengthOfStayArrival()))
return false;
하지만 누가 나를 봐 도움이 될 수 있습니다 예기치 않은 표현이다?
'forEach'를 사용하지 않음. 모든 요소가 조건을 충족시키는 지 확인하려면'allMatch'를 사용하고 싶습니다. 그건 그렇고, 당신은 pretest를'if (! aMap.keySet(). equals (bMap.keySet()) false false; '로 바꿀 수있다. 이것은 맵의 크기 이상을 검사하고'null' 테스트를 생략 할 수있다. – Holger
빠른 응답을 보내 주셔서 감사합니다. –
@Holger 안녕하세요. http://stackoverflow.com/questions/43973596/how-to-convert-foreach-to-lambda –