タグ

技術とArrayListに関するsnjxのブックマーク (1)

  • immutableなStringとmutableなArrayListな話 - (define -ayalog '())

    immutable??mutable?? ということで、immutable(イミュータブル:不変)とmutable(ミュータブル:変更可能)なオブジェクトの話です。 そもそもimmutable/mutableってなんだろう?というところから書きたいと思います。 |> immutable(不変)オブジェクトとは オブジェクト(インスタンス)そのものの状態を変更できないこと。 Javaにおける代表格はStringクラスです。事実Stringは自分自身の状態を変更するメソッドを提供していません。 ※replaceメソッドなんかは勘違いされやすいですが、自分自身が変化することはないと覚えていれば分かりやすいかと。 不変オブジェクトとして、必要な条件は下記の通り。 オブジェクトの内部状態を変更可能なメソッドを提供しない。(つまり、getterは用意してもsetterやそれに準ずるものは用意しない)

    immutableなStringとmutableなArrayListな話 - (define -ayalog '())
  • 1