ループパッチString文字列の最後の文字を削除する方法

921 ワード

詳細
様々な文字列をカプセル化するとき、文字列をループで組み立てるのは避けられません.以下のようにします.

String [] idArr = {"tom","cat","jim","jone"};
StringBuffer sBuffer = new StringBuffer();
for(int i = 0; i < idArr.length; i++){
	sBuffer.append(idArr[i]);
	sBuffer.append(",");
}

今はtoString()の値は:tom,cat,jim,jone,最後に欲しい結果はtom,cat,jim,jone
以下の方法で実現できる
方法1:

String finalResultStr = sBuffer.toString().substring(0, sBuffer.toString().lastIndexOf(","));

方法2:

String finalResultStr = sBuffer.substring(0, sBuffer.length() - 1);

方法3://今のところ一番いい方法だと思います
String finalResultStr = sBuffer.deleteCharAt(sBuffer.length() - 1); 

他にも、もちろんループの中で判断することもできますが、ループごとに判断しなければならないような気がします.上の2つの方法ほどではありません.