私はパラメータとしてObject
の機能を持っています。それはリストすることができ、マップ、反復可能、など、私はそれに属する各項目を処理したい場合には:このオブジェクトは可能な限り最も一般的な意味での集合であってもよいジェネリックコレクションからストリームを取得するにはどうすればよいですか?
public void f(Object o) {
if (o instanceof SOMECLASSORINTERFACE<?>) {
Stream.of(o).map(..)...;
} else {
// o is scalar
...
}
}
上記のコードは機能しません。Stream.of()
は、自分のオブジェクトをその要素に分割してストリームしませんが、1つの要素(オブジェクトo
)のみを出力します。
o
があまりにも一般的で、stream
メソッドがないため、o.stream().map...
は使用できません。
キャストo
~Collection
は機能しません。はまた、Collection
会員をチェックすると、おそらく行うにはない正しいことである...
それでは、どのように私はジェネリックコレクションのうち、ストリームを取得できますか?
オブジェクトは、それが一般的なすべてのもので、一般的なコレクションではありません、あなたはキャストを行うか、例えば使用する必要がありますObjectではなくIterableです。 –