У меня указанная ниже структура данных.
В данном блоке кода я пытаюсь получить Object Dc из заданного HashMap dealCommits.
Кусок кода будет работать, если с картой связан объектс данным ключом (cNumber) доступен.
Моя проблема заключается в том, как обрабатывать нулевой указатель в строке (// 5), когда данный ключ не найден на карте.
Это будет очень полезно, есликто-то может пролить свет на исправление этого кода на основе потока для обработки исключения.
public class Dc {
private String cNumber;
private Optional<List<pTerms>> pTerms;
}
public class Dd {
private String cParty;
//Dc:cNumber is the Key
private Optional<Map<String,Dc>> dealCommits;
}
public class PTerms {
private String pType;
}
public String check(String tMonth,String cNumber,Dd dDetails)
{
Optional<DealPricingTerms> dealPricingTerms = dDetails
.getDealCommits().get()
.get(cNumber)
.getPTerms().get().stream() //5
.filter(dealPricingTerm ->
tMonth.equals(dealPricingTerm.getDeliveryPeriod()))
.findFirst();
return dealPricingTerms.isPresent()? "Success" : "failed";
}