私はFolder and Parent.
という名前のテーブルに2つの列があります。私のサービスではFolderService.getAllParents(s)
というメソッドがあります。(s)
は文字列です。しかし、親カラムにフォルダを置くこともできます。再帰式を使ってすべてのフォルダとそれぞれの親を取得しようとしています。 たとえば、Documents (parent)
およびFilm (folder)
でもFilm (parent)
およびReviews(folder)
,Reviews(parent)
およびname(folder)
などです。私は検索された文字列に基づいてすべての親とフォルダを取得したい。ここで立ち往生イム再帰式です:Java再帰ですべての値が返されない
public ArrayList<String> getParents(String s){
ArrayList<String> mn = new ArrayList<String>();
for(FolderManager y:FolderService.getAllParents(s)){
if(y.getParent().isEmpty()){
mn.add(y.getFolder());
return mn;
}else{
return getParents(y.getFolder());
}
}
return mn;
}
私はすべてのエラーを得ていないmは私が正しくあなたを理解している場合、私は、すべての
Documents (parent) - Film (folder) Film (parent) - Reviews(folder)
Springとは何ですか?あなたが得ているエラーは何ですか? – SMA
質問を編集しました。再度確認してください。 –
forループでは、結果をmnに追加するのではなく、何かを返してループを続行します。たぶんreturn getParentsを使う代わりに、mn.addAll(getParents)を使うべきです –