Optionalクラスは、保持しているオブジェクトの状態を変更する必要がありますか?ストリームを返すすべての中間演算は、オブジェクトの変更可能性を決して変更してはいけませんか? 例:それはインスタンス変数が含まれている場合必要に応じて、含まれているオブジェクトの状態を変更しますか?
Optional.ofNullable(repository.gePersonById(id))
.ifPresent(person -> person.setAge(25));
同じ原理が適用されます。例えば、このようなStream
やComparator
などのAPIで意味制約を文書化するために取られているどのくらいのケアを考える
Optional.ofNullable(this.person)
.ifPresent(person -> person.setAge(25));
これは私の肌のクロールを少ししています - だから私は、腸の感覚ではないと言います。理由を教えてもらえません。私はそれが機能的パラダイムと可変状態の組み合わせかもしれないと思う。 –
'オプション'はオブジェクトを不変にしません。存在しないというオプションを追加するだけです。さらに、副作用のない 'ifPresent'のユースケースは存在せず、これはそれを目立たせる。 'map'または' filter'です。 – Holger