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