バイmkyong/最終更新日:December5,2016
閲覧:76,893|+186pv/w
この記事では、Java
1の可変オブジェクトと不変オブジェクトの違いを示します。 変更可能なオブジェクト-オブジェクトの作成後に状態とフィールドを変更できます。 たとえば、StringBuilder
、java.util.Date
などです。
2. 不変オブジェクト-オブジェクトが作成された後は何も変更できません。 例のために: String
、Integer
、Long
などのボックス化されたプリミティブオブジェクト。
Java Mutable Example
通常、フィールド値を変更するメソッドを提供し、オブジェクトを拡張することができます。
MutableExample.java
出力
mkyongnew mkyong
Java Immutable Example
不変オブジェクトを作成するには、クラスをfinalにし、フィールドを変更するメソッドを提供しません。
ImmutableExample.java
出力
mkyong
注
不変オブジェクトは、単純でスレッドセーフ(同期は必要ありません)、エラーが発生しにくく、より安全です。 可能であれば、すべてのオブジェクトを不変にします。
不変オブジェクトは、単純でスレッドセーフ(同期は必要ありません)、エラーが発生しにくく、より安全です。 可能であれば、すべてのオブジェクトを不変にします。
P.S Effective Java Book–Item15:Minimize mutabilityを参照してください。
- 変更可能なオブジェクトと不変オブジェクト
- Java docs
タグごとの不変オブジェクト:不変のjava mutable
ムキョン
Mkyong.com、javaとオープンソースのものが大好きです。 Twitterで彼に従ってください。 あなたは私のチュートリアルが好きなら、これらの慈善団体への寄付を検討してくださ