と言いましょう。Importable
というインターフェイスが複数実装されていて、そのうちの1つがImportableImpl
です。リスト<ステージング<Importable>>リストに<ステージングする<インポート可能なImpl >>をjavaの8ストリーム
私はクラスStaging
のリストを持っていますが、そのタイプはImportable
です。
javaの8ストリームを介して、私はリスト変換したい:リストに
List<Staging<Importable>> list1
を:
List<Staging<ImportableImpl>> list2
私はすでにリストlist1
がStaging<ImportableImpl>
のリストであることを確信しているので、 ClassCastException
が発生する可能性があります。 javaがこの種の変換をジェネリック型で許可するかどうかはわかりません。
私はこのような何か試してみたかった:
list1.stream()
.map(Staging::getImportable) // retrieve generic type
.map(ImportableImpl.class::cast)
.collect(Collectors.toList())
をしかし、これで私はList<ImportableImpl>
なくList<Staging<ImportableImpl>>
を取得します。
どのようにして 'Staging'オブジェクトを作成しますか? – BretC
なぜこれを行う必要がありますか?インターフェイスにメソッドを追加する必要があるかもしれません。 – flakes