今日のひとこと Challange IT For Future

String

JavaWork 読了 1分

この記事は最終更新から 18 年以上たっています。内容が現在の状況と異なる可能性があります。現在の情報は最新の記事、Fess の記事をご覧ください。

String.java を見てみる。String は value(char配列), offset(valueの開始ポイントでint), count(文字数でint)を保持する。これらは final なので変更できない。基本的に、new したときにoffsetは0でvalueのchar配列に突っ込む。興味深いのは、substringしたときは、効率をあげるため、元のStringのvalueを利用して、offset で調整する(ということは、でっかい文字列をsubstringして、そのStringをセッションに突っ込んでおくと、でっかい文字列が保持されるのだろうか・・・)。この処理は、substring内でプライベートなコンストラクタを呼んでやっている(他にも呼ぶ場合があるのかもしれないけど、そこまで見てない)。