Java - использование рекурсии для создания всех подстрок из строки

Следующий код в Java использует рекурсию для создания всех возможных подстрок из строки. Мне интересно, есть ли лучший способ кодирования этого? Я хочу использовать рекурсию.

public class main {

    public static void main(String[] args) {
        generate("hello");
    }

    public static void generate(String word) {
        if (word.length() == 1) {
            System.out.println(word);
            return;
        }else{
            System.out.println(word);
            generate(word.substring(0, word.length()-1)); 
            generate(word.substring(1, word.length())); 
        }

    }

}

FAQ Q - Почему я хочу сделать это с помощью рекурсии? A - Потому что генеральный директор StackOverflow говорит, что рекурсия важнаhttp://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

Ответы на вопрос(5)

Ваш ответ на вопрос