Java-可変および不変オブジェクト

バイmkyong/最終更新日:December5,2016
閲覧:76,893|+186pv/w

この記事では、Java

1の可変オブジェクトと不変オブジェクトの違いを示します。 変更可能なオブジェクト-オブジェクトの作成後に状態とフィールドを変更できます。 たとえば、StringBuilderjava.util.Dateなどです。

2. 不変オブジェクト-オブジェクトが作成された後は何も変更できません。 例のために: StringIntegerLongなどのボックス化されたプリミティブオブジェクト。

Java Mutable Example

通常、フィールド値を変更するメソッドを提供し、オブジェクトを拡張することができます。

MutableExample.java

出力

mkyongnew mkyong

Java Immutable Example

不変オブジェクトを作成するには、クラスをfinalにし、フィールドを変更するメソッドを提供しません。

ImmutableExample.java

出力

mkyong

不変オブジェクトは、単純でスレッドセーフ(同期は必要ありません)、エラーが発生しにくく、より安全です。 可能であれば、すべてのオブジェクトを不変にします。

P.S Effective Java Book–Item15:Minimize mutabilityを参照してください。

  1. 変更可能なオブジェクトと不変オブジェクト
  2. Java docs
タグごとの不変オブジェクト:不変のjava mutable

ムキョン

Mkyong.com、javaとオープンソースのものが大好きです。 Twitterで彼に従ってください。 あなたは私のチュートリアルが好きなら、これらの慈善団体への寄付を検討してくださ

コメントを残す

メールアドレスが公開されることはありません。

Previous post 上下水道部門
Next post The Wertzone