[英]recursive function always returns null
我正在尝试从其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;
}
return null;
最后应return getCategory(c, id);
然后您需要另一个早期返回null的基本情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.