初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
StringBufferクラス
文字列を扱うクラスにStringクラスのほかにもうひとつあります。
StringBufferクラスです。
Stringクラスと大きな違いはStringクラスはいったん作成したオブジェクトの文字列を
変更することができなかったのに対しStringBufferクラスは文字列の追加・挿入など
直接変更できます。
StringBufferクラスの主なメソッド
メソッド名 |
説明 |
insert(int i String s) | 0番目から数えてi番目の位置に文字列 s を挿入する。 |
append(String s) | 文字列の末尾に文字列 s を追加する。 |
toString() | 文字列を元に生成したStringオブジェクトを返す |
reverse() | 文字列の並びを反転する。 |
length() | オブジェクトが管理する文字列の文字数を返す(余分なメモリ領域を除く) |
capacity() | 現在のオブジェクトが確保しているメモリの有効文字数を返す |
サンプルプログラム(Sample74.java)
class Sample74{ public static void main(String args[]){ StringBuffer sb = new StringBuffer("Hello!"); System.out.println("元々のオブジェクトが管理する文字列です。"); System.out.println(sb); //文字列Hello!の後にJavaを追加 sb.append("Java"); System.out.println("----------------------"); System.out.println("文字列が変更されました。"); System.out.println(sb); } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行します
まず、このプログラムではStringクラスとStringBufferクラスの違いを明確にするために
簡単なサンプルを作成しました。
StringBufferクラスは文字列の変更ができることは最初に説明しました。
ここでは最初に参照変数sbのオブジェクトが管理している文字列はHello!です。しかしその後でメソッドappend("Java");を使用しています。
そのメソッドは文字列の末尾に文字列を追加するメソッドでした。
したがって参照変数sbのオブジェクトの文字列がHello!Javaに書き換えられているのが
わかります。
では、続けてサンプルプログラムを見ていきましょう。
サンプルプログラム(Sample74_1.java)
class Sample74_1{ public static void main(String args[]){ StringBuffer sb = new StringBuffer("Hello!"); System.out.println("元々の文字列"); System.out.println(sb); System.out.println("文字列の長さは" + sb.length());
System.out.println("-----------------------"); sb.append("の世界"); System.out.println("文字列が変更されました"); System.out.println(sb); System.out.println("文字列の長さは" + sb.length());
System.out.println("------------------------"); sb.insert(6,"Java"); System.out.println("文字列が変更されました"); System.out.println(sb); System.out.println("文字列の長さは" + sb.length()); System.out.println("-------------------------"); sb.reverse(); System.out.println("文字列の並びを反転しました"); System.out.println(sb); } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行します
このような結果になりました。