Я думаю, что-то более полно, чем нужно, если вам нужно сделать
getLD().get(cam.getName()).getAGS().get(aG.getName())
Если вам нужно проверить, является ли вторая коллекция или результат нулевым, вы можете сделать что-то вроде:
Map<?,?> firstList= getLD();
Object value = null;
if (firstList!=null && !firstList.isEmpty() && fistList.containsKey(cam.getName())){
Map<?,?> secondList = firstList.get(cam.getName());
if (secondList!=null && !secondList.isEmpty() && secondList.containsKey(aG.getName())){
value = secondList.get(aG.getName());
}
}
if(value != null){
// Do the required operations if the value is not null
}else{
// Do the required operations if the value is null
}
С помощью этого кода я проверил, является ли первая коллекция не нулевой, не пустой и имеет ли она содержимое.Я получаю вторую коллекцию и повторяю процесс во второй коллекции.
Также можно создать метод для выполнения этой операции:
private Map<?,?> getItem(Map<?,?> map,Object key){
if (map!=null && !map.isEmpty() && map.containsKey(key)){
return map.get(key);
}
return null;
}
и в вашем коде:
Object value = getItem(getItem(getLD(),cam.getName()),aG.getName());
if(value != null){
// Do the required operations if the value is not null
}else{
// Do the required operations if the value is null
}