Java 8 でストリームをキャストすることは可能ですか? オブジェクトのリストがあるとします。追加のオブジェクトをすべて除外するには、次のようにします。
Stream.of(objects).filter(c -> c instanceof Client)
この後、クライアントで何かをしたい場合は、それぞれをキャストする必要があります。
Stream.of(objects).filter(c -> c instanceof Client)
.map(c -> ((Client) c).getID()).forEach(System.out::println);
これは少し見栄えが悪いです。ストリーム全体を別の型にキャストすることは可能ですか? へのキャストStream<Object>
のようにStream<Client>
?
このようなことを行うと、おそらく設計が悪いことになるという事実を無視してください。私たちはコンピュータ サイエンスのクラスでこのようなことを行っているので、Java 8 の新機能を調べていて、これが可能かどうか興味がありました。