文字列操作について記述する。
;を付けてないはわざとであり、この返り値を変数に格納したりで使う。
文字列を辞書式の順序で比較する:
compareTo(String s)
例:String str ="sample";
str.compareTo("sample")
返り値 = 0 → 同じ文字, 返り値 < -1 → 呼び出し元(対象文字)が引数よりも小さい, 返り値 > 1 → 呼び出し元(対象文字)が引数よりも大きい
文字列を連結:
concat(String s)
例:String str = "sample";
str.concat("s")
返り値 = 呼び出し元+引数。この場合samples
ちなみに文字列が頻繁に変わる場合にはStringBufferクラスを使って
StringBuffer str = new StringBuffer("sample");
str.append("s");
とした方が高速で効率的。
理由としてはStringクラス自体は値が変わらないことを前提にしているので、
値が変わるときにはStringBufferクラスに置き換えてから変更しString型に戻す作業を入れているため。
ただし、StringBufferクラスはVector等では利用できないので注意。
文字列が等価かどうかの比較:
equals(Object obj)
例:String a = "sample";
String b = "sample";
a.equals(b)
返り値:呼び出し元と引数が等価だったらtrue,そうでないならfalse
文字列の最初のインデックスを探す:
indexOf(String str)
例:String a = "sample";
String b = "mp";
a.indexOf(b)
返り値:引数が呼び出し元の中で最初に出てくる位置(インデックス)を返す。無い場合は-1。上記の場合は2が返り値。
文字列の長さ:
length()
例:String a = "sample";
a.length()
返り値:文字列の長さを返す。上記の場合は6が返り値。
文字列表現を返す:
valueOf()
例(int型の場合):int figure = 777;
String.valueOf(figure)
返り値:int型である引数の文字列表現が返る。つまり"777"みたいなもの。
文字列を分割する:
split()
例:String a = "sample sample1 sample2";
String[] b = a.split(" "); //スペースで区切っている場合
返り値:分割された文字列。
尚、split()はリミットを設定することができ、項目がない場合でも""(空白)を配列に格納するよう設定できる。
文字列の一部を切り取る:
substring()
例:String a = "sample";
a.substring(2,4);
返り値:beginIndexからendIndex-1までの文字列。この場合、mp。
文字列から1文字だけ取り出す:
charAt()
例:String a = "sample";
a.charAt(2);
返り値:引数で指定された文字。この場合、m。
文字を含むかどうかの判定:
contains()
例:String a = "sample";
a.contains("am");
返り値:この場合引数の文字を含むのでtrue。
文字列を置換:
replace(),replaceAll()
例:String a = "sample";
a.replace("a","i");
返り値:前の文字を後ろの文字で置き換えた文字。この場合、simple。
最終更新:2013年09月04日 23:47