StringBuilderのappendとinsertメソッドの使い方! Java初心者の勉強

StringBuilderのappendとinsertメソッドが混乱してなかなか覚えづらいので備忘録。

文字指定位置の数値の出し方

本題の前の予備知識として、文字の位値は以下の図を参考に指定します。

文字位置のイラスト

StringBuilderとinsert

insertは挿入を意味する英語でStringBuilderで使用すると、文字を挿入することができる。

構文

insert(挿入点, 挿入する文字)

挿入できる型

insertでは以下の値を追加することができます。

  • プリミティブ型 (byte, short, int, long, float, double, char, boolean)
  • String
  • char配列
  • オブジェクト

insertのメソッド

よく使うString以外にもinsertのメソッドが用意されています。

  • StringBuilder insert(int offset, boolean b)
  • StringBuilder insert(int offset, char c) char
  • StringBuilder insert(int offset, char[] str)
  • StringBuilder insert(int index, char[] str, int offset, int len)
  • StringBuilder insert(int dstOffset, CharSequence s)
  • StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
  • StringBuilder insert(int offset, double d)
  • StringBuilder insert(int offset, float f)
  • StringBuilder insert(int offset, int i)
  • StringBuilder insert(int offset, long l)
  • StringBuilder insert(int offset, Object obj)
  • StringBuilder insert(int offset, String str)

insert サンプルコード

String life = "Life";
StringBuilder sb = new StringBuilder(life);
System.out.println(sb.insert(0, "Programmer ")); // Programmer Life

StringBuilderとappend

appendは追加するを意味する英語でStringBuilderで使用すると、文字を追加することができる。追加した文字は既存の文字列の後ろに追加されます。

構文

追加できる型

appendでは以下の値を追加することができます。

  • プリミティブ型 (byte, short, int, long, float, double, char, boolean)
  • String
  • char配列
  • オブジェクト

appendのメソッド

  • StringBuilder append(boolean b)
  • StringBuilder append(char c)
  • StringBuilder append(char[] str)
  • StringBuilder append(char[] str, int offset, int len)
  • StringBuilder append(CharSequence s)
  • StringBuilder append(CharSequence s, int start, int end)
  • StringBuilder append(double d)
  • StringBuilder append(float f)
  • StringBuilder append(int i)
  • StringBuilder append(long lng)
  • StringBuilder append(Object obj)
  • StringBuilder append(String str)

append サンプルコード

StringBuilder sb = new StringBuilder();
sb.append("Programmer");
sb.append(" ");
sb.append("Life");
System.out.println(sb); // Programmer Life

追加する対象の文字の場所を指定することもできます。

StringBuilder sb2 = new StringBuilder();
String pl = "I am a Programmer.";
sb2.append(pl, 7,17);
sb2.append(" Life");
System.out.println(sb2); // Programmer Life

おわり

SQL文を書く時にappendを使っているのを見かけますね。場所指定したいときはinsert、後ろに追加するときはappendで使い分けができそうです。

参考サイト:StringBuilder (Java Platform SE 8 ) - Oracle Docs

Java

Posted by Nakamoto