Вот что я пробовал:
private static ApplicationGroup fetchDashboardParamInfo(List<ApplicationGroup> applicationGroup, String uniqueId) {
ApplicationGroup dashParamInfo = null;
for (ApplicationGroup a : applicationGroup) {
if (a.getUniqueId() == null || !a.getUniqueId().equals(uniqueId)) {
fetchDashboardParamInfo(a.getChildren(), uniqueId);
} else if (a.getUniqueId().equals(uniqueId)) {
dashParamInfo = a;
}
}
return dashParamInfo;
}
Я просто запускаю группу приложений, которая представляет собой список групп приложений. На самом деле это иерархия групп приложений. Я пытаюсь сделать метод рекурсивным, если "if" -элемент имеет значение true, с a.getChildren () в качестве нового a. Если "else if" -элемент равен true, dashParamInfo просто должно быть равно значению a в этой точке, а затем метод должен возвращать dashParamInfo без дальнейшего зацикливания. Проблема, с которой я столкнулся, заключается в том, что когда выражение «если» становится истинным, оно не повторяется, оно входит в оператор, а затем просто возвращается и сразу завершает метод. Что я делаю не так?