1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

StringBuilderについての基礎知識

Posted at

はじめに

Stringクラスはイミュータブル(不変)なので、文字列を部分的に変えたりする操作が苦手である。
加えて、String+Stringをする度に、新しいObjectをnewしているのでメモリ面でも計算面でも問題を抱えている。

StringBuilderクラス

そこで登場するのがStringBuilderクラスである。StringBuilderクラスの特徴としては、

  • 一つのインスタンスを使い回す
  • 可変長
  • シングルスレッド前提

である。

image.png

注意点

可変長を過信しすぎない

StringBuilderは容量が足りないときに、現在の2倍に拡張するという特性を持っているため、できればコンストラクタに引数を渡してあらかじめ容量を指定しておく方が事故が少ない

インデックス指定の方法

StringBuilderにインデックスでアクセスするときは左から順に0,1,2...となっていることに注意する

Stringじゃないことを忘れない

Stringとして扱いたいときはtoString()が必要なことを忘れない。

マルチスレッドに対応しているStringBufferというクラスもあるが、それに関してはまた今度解説する。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?