我正在尝试从Category对象的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...请提出建议:)
发布于 2015-09-17 14:43:39
您没有使用递归调用返回的值。
变化
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;
}发布于 2017-09-21 02:34:54
末尾的return null;应该是return getCategory(c, id);,然后您需要另一个基本情况,即早期返回null。
https://stackoverflow.com/questions/32624009
复制相似问题