Rubyでは、Enumerable
モジュールを独自のカスタムコレクションクラスに混ぜると、each
メソッドを実装すればよく、すべてのメソッドはEnumerable
( map
、select
、reduce
など)が自分のクラスで使用できるようになります。Ruby EnumerableのようにJavaでカスタムStreamクラスを簡単に作る方法
Java 8では、クラスライブラリには継承できるインターフェイスまたは抽象クラスがあります。したがって、独自のStream
クラスを作成する単一のメソッドをオーバーライドするだけで済みます。 Stream<T>.generate
またはStream.Builder<T>
を使用してStream<T>
インスタンスを生成することができましたが、多くの作業をすることなくカスタムStream
クラスを作成できるようにしたいと考えています。
'Stream'はすでにインターフェイスです。そのインターフェイスを実装するクラスを作成できます。私はあなたの混乱が何であるかについて少し不明です。あなたはあなたが望む任意の方法でそのインタフェースを実装することができます。 Rubyのようになることは決してありません。なぜなら、Rubyのミックスイン/モジュールについての方法は、インターフェースとは異なるからです。 – Makoto
私が気にしていたのは、 'Stream'を実装している抽象クラスでした。独自のカスタム' Stream'クラスを作るために(Rubyの 'each'のような)単一のメソッドをオーバーライドする必要があるかもしれません。しかし、それはストリームライブラリがサポートするように設計されているパターンには見えません。コメントありがとう。 –