Я пытаюсь реорганизовать этот код, чтобы иметь только один оператор возврата, но я не могу понять, как это сделать. Я ищу конкретный узел в дереве. Каждый узел в дереве может иметь детей. Любое направление было бы оценен благодаряКод рефакторинга имеет только оператор возврата
private TreeNode getDefaultNode(List list, String supervisingGroupName){
for (int i = 0; i < list.size(); i++){
TreeNode tempNode = (TreeNode) list.get(i);
OSGroup temp = (OSGroup) tempNode.getNodeBusinessObject();
if (supervisingGroupName.equals(temp.getName())){
return tempNode;
}
else {
TreeNode node = getDefaultNode(tempNode.getChildren(), supervisingGroupName);
if (node != null){
return node;
}
}
}
return null;
}
Вы можете объявить «узел TreeNode» в начале метода и установить его в «null», изменить его в блоках 'if' и' else' и вернуть его в конце метода. – Titus
Могу ли я спросить вас, почему? Я думаю, что они делают вас более читабельными, чтобы сказать, что метод может вернуть значение null. – StackFlowed
Вы можете реорганизовать, чтобы иметь один возврат, но он сделает код менее читаемым –