StringBuildernoのreplaceテスト
StringBuilderを使用したreplaceのサンプルです。
package com.example.test.test40;
import android.util.Log;
public class clsTest6 extends clsCommon {
//replaceテスト
public void test6()
{
StringBuilder txt1 = new StringBuilder();
txt1.append("1234567890");
//最初の文字を置き換えする
txt1.replace(0,1,"a");
displayStringBuilderData("txt1.replace(0,1,\"a\")",txt1);
//最初から2文字分を置き換えする
txt1.replace(0,2,"xy");
displayStringBuilderData("txt1.replace(0,2,\"xy\")",txt1);
//最後の文字を置き換えする
txt1.replace(txt1.length()-1,txt1.length(),"z");
displayStringBuilderData("txt1.replace(txt1.length()-1,txt1.length(),\"z\")",txt1);
try
{
//開始位置が長さを超えたケース
txt1.replace(txt1.length(),1,"-");
displayStringBuilderData("txt1.replace(txt1.length(),1,\"-\")",txt1);
}
catch (Exception e)
{
Log.d("error",e.getMessage().toString());
}
finally
{
clearStringBuilderData(txt1);
txt1 = null;
}
/*
start: replaceテスト -----------------------------------
txt1.replace(0,1,"a"): a234567890
txt1.replace(0,2,"xy"): xy34567890
txt1.replace(txt1.length()-1,txt1.length(),"z"): xy3456789z
error: length=10; regionStart=10; regionLength=-9
end: replaceテスト -----------------------------------
*/
}
}
|
結果
start: replaceテスト -----------------------------------
txt1.replace(0,1,"a"): a234567890
txt1.replace(0,2,"xy"): xy34567890
txt1.replace(txt1.length()-1,txt1.length(),"z"): xy3456789z
error: length=10; regionStart=10; regionLength=-9
end: replaceテスト -----------------------------------
共通メソッドおよびクラスをインスタンス化して実行しているメソッドは次の通りとなります。
package com.example.test.test40;
import android.util.Log;
public class clsCommon {
//StringBuilderのデータをクリアする
//StringBuilderに格納されている文字列
protected void clearStringBuilderData(StringBuilder sData)
{
sData.delete(0, sData.length());
//文字シーケンスに使用されるデータを減らそうとします
//trimToSizeメソッドを使用するとcapacityメソッドの後続呼び出しで
//返される値に影響する可能性があります
//sData.trimToSize();
}
//StringBuilderの結果を表示する
//sTile:ラベル
//StringBuilderに格納されている文字列
protected void displayStringBuilderData(String sTitle, StringBuilder sData)
{
Log.d(sTitle, sData.toString());
}
protected void displayStringBuilderData(String sTitle, int iData)
{
Log.d(sTitle, String.valueOf(iData));
}
}
|
package com.example.test.test40;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//deleteのテスト
Log.d("start","deleteのテスト -----------------------------------");
clsTest1 cls1 = new clsTest1();
cls1.test1();
cls1=null;
Log.d("end","deleteのテスト -----------------------------------");
//影響テスト
Log.d("start","影響テスト -----------------------------------");
clsTest2 cls2 = new clsTest2();
cls2.test2();
cls2 = null;
Log.d("end","影響テスト -----------------------------------");
//insertテスト
Log.d("start","insertテスト -----------------------------------");
clsTest3 cls3 = new clsTest3();
cls3.test3();
cls3 = null;
Log.d("end","insertテスト -----------------------------------");
//indexOfテスト
Log.d("start","indexOfテスト -----------------------------------");
clsTest4 cls4 = new clsTest4();
cls4.test4();
cls4 = null;
Log.d("end","indexOfテスト -----------------------------------");
//deleteCharAtテスト
Log.d("start","deleteCharAtテスト -----------------------------------");
clsTest5 cls5 = new clsTest5();
cls5.test5();
cls5 = null;
Log.d("end","deleteCharAtテスト -----------------------------------");
//replaceテスト
Log.d("start","replaceテスト -----------------------------------");
clsTest6 cls6 = new clsTest6();
cls6.test6();
cls6 = null;
Log.d("end","replaceテスト -----------------------------------");
}
}
|
|
|