我正在尝试从其ID检索Category对象。
类别是可以包含其他类别和帖子的层次结构类。
我的实现是递归的:
public static AAbstarctCategory getCategory(ACategory category, String id) {
if (id == category.id) {
return category;
}
else if (category.categories.containsKey(id)) {
return category.categories.get(id);
}
else if (category.posts.containsKey(id)) {
return category.posts.get(id);
}
else {
for (ACategory c : category.categories.getArray()) {
getCategory(c,id);
}
}
return null;
}
问题在于该函数始终返回null ...
建议请:)
最佳答案
您没有使用递归调用返回的值。
更改
for (ACategory c : category.categories.getArray()) {
getCategory(c,id);
}
至
for (ACategory c : category.categories.getArray()) {
AAbstarctCategory cat = getCategory(c,id);
if (cat != null)
return cat;
}