リストがあり、リスト内の各項目について、各リスト要素に基づいて「何か」する必要があります。Java 8 - ループ内にネストされている場合
リストはコードで構成され、合計5つのコードがあります。リストには、任意のコードまたはすべてのコードを含めることができます。
これまでのところ私はforEachのを使用しましたし、以下のように私はそれの内側であれば条件を書いた - 私はこれをリファクタリングで探しています
List<Category> categories = getCategories();
categories.stream().forEach(category -> {
if(category.equals(Category.A)) {
// do something
} else if(category.equals(Category.B)) {
// do something
} else if(category.equals(Category.C)) {
// do something
} else if(category.equals(Category.D)) {
// do something
} else if(category.equals(Category.E)) {
// do something
}
});
。誰かがこれをいかにうまくいくか見てみることができますか?私は改善するだろう
すべてのカテゴリが上書きして、単純に 'category.doSomething()'と書くというメソッド 'void doSomething()'に 'something do'を入れることができます。 – luk2302
ループテーブルを作成します。情報については、[この質問](https://stackoverflow.com/questions/4480334/how-to-call-a-method-stored-in-a-hashmap-java)を参照してください。 – pritaeas
どのような比較が 'category.equals(Category.A)'ですか? – nullpointer