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? 我試圖添加返回false,如下面:返回關於Java 8 for each
if(!aValue.getLengthOfStayArrival().equals(bValue.getLengthOfStayArrival()))
return false;
卻是意外的表情,誰可以幫我看一下嗎?
不使用'forEach'。當你想檢查所有元素是否滿足條件時,你想使用'allMatch'。順便說一句,你可以改變你的預測試爲'if(!aMap.keySet()。equals(bMap.keySet())return false;'這會檢查地圖的大小,並且允許忽略'null'測試 – Holger
感謝您的快速回復 –
@Holger嗨,你能幫忙回答一個問題嗎?http://stackoverflow.com/questions/43973596/how-to-convert-foreach-to-lambda –