こんにちは私は次の問題を抱えています。私たちはオブジェクト "Account"を持っていると言うことができます。このオブジェクトAccountは不変なので、実際には別の状態に変換するために余計なおしてアクションを実行します。たとえば、AccountはClosedAccountやNewAccountなどになります。今や私の移行は反映されていることがあります。アカウントはアカウントに変換されますが、非常に小さいものは例えば "modifiedDate"のように変更されます。私のアカウントは本質的なものなので、反射的な操作でさえも、更新された値を持つ新しいアカウントが作成されます。私のオブジェクトは不変ではない場合、私のようなものを使用しているだろう:連鎖消費者Java 8
List<String> accountsIds;
accountIds.parrallelStream.map(t->NewAccount)
.map(t->Account)
.peek(t->changetheDate())
.map(t->closeAccount())
.forEach(bla bla bla)
さて問題は、PEEKは()のみ変更可能なオブジェクトの状態を変更するということです。しかし、私の場合、アカウントは不変ですので、私が新しいオブジェクトを作成しても、このオブジェクトはそれ以上ストリーミングされません。
「Consumer」の出力が「Consumer」の入力になる「マップ」メソッドのように機能するように、「Consumers」を連鎖させることは可能ですか?言い換えれば、私は不変オブジェクトで動作する "peek"操作を探しています。
私の理解は、私はより多くのアクションのような何かを実行したい一方で、「マップ」は、変換操作であるということですので、私はこの質問を求めていた理由です。私は不変オブジェクトで作業しているので、変換操作としてのみ機能しますが、変更可能なオブジェクトを使用していた場合、それは単なるアクションに過ぎません。
はい、 'map'はあなたが望むものです。 –
多分それは単なる言語のものですが、どういうわけか私は "マップ"と "アクション"を結びつけません。 –
あなたが描いていることは、実際には行動ではないと思います。 1つの不変オブジェクトを取得し、(おそらく新しい、わずかに変更された)不変オブジェクトを取得しています。 –