indexOfテスト
StringBuilderを使用したindexOfのサンプルです。
package com.example.test.test40;
import android.util.Log;
public class clsTest4 extends clsCommon {
//indexOfテスト
public void test4()
{
Log.d("test4_1();","indexOf");
test4_1();
Log.d("test4_2();","indexOf 開始位置あり");
test4_2();
Log.d("test4_3();","lastndexOf");
test4_3();
Log.d("test4_4();","lastIndexOf 開始位置あり");
test4_4();
/*
start: indexOfテスト -----------------------------------
test4_1();: indexOf
txt1.indexOf("1"): 0
txt1.indexOf("1"): 0
txt1.indexOf("0"): 9
txt1.indexOf("a"): -1
test4_2();: indexOf 開始位置あり
txt1.indexOf("1"): 0
txt1.indexOf("1",0): 0
txt1.indexOf("1",1): -1
txt1.indexOf("a"): -1
txt1.indexOf("0", txt1.length()): -1
test4_3();: lastndexOf
txt1.lastIndexOf("1"): 0
txt1.lastIndexOf("1"): 9
txt1.lastIndexOf("a"): -1
test4_4();: lastIndexOf 開始位置あり
txt1.indexOf("1"): 0
txt1.indexOf("1",0): 0
txt1.indexOf("1",1): 0
txt1.indexOf("a"): -1
txt1.indexOf("a", txt1.length()): 9
end: indexOfテスト -----------------------------------
*/
}
//IndexOf
private void test4_1()
{
int iPos = 0;//位置を設定する変数
StringBuilder txt1 = new StringBuilder();
txt1.append("1234567890");
displayStringBuilderData("txt1.indexOf(\"1\")", iPos);
//最初の文字
iPos = txt1.indexOf("1");
displayStringBuilderData("txt1.indexOf(\"1\")", iPos);
//最後の文字
iPos = txt1.indexOf("0");
displayStringBuilderData("txt1.indexOf(\"0\")", iPos);
//存在しない文字
iPos = txt1.indexOf("a");
displayStringBuilderData("txt1.indexOf(\"a\")", iPos);
clearStringBuilderData(txt1);
}
//IndexOf 開始位置あり
private void test4_2()
{
int iPos = 0;//位置を設定する変数
StringBuilder txt1 = new StringBuilder();
txt1.append("1234567890");
displayStringBuilderData("txt1.indexOf(\"1\")", iPos);
//最初の文字位置から探す
iPos = txt1.indexOf("1",0);
displayStringBuilderData("txt1.indexOf(\"1\",0)", iPos);
//2番目の文字位置から探す
iPos = txt1.indexOf("1",1);
displayStringBuilderData("txt1.indexOf(\"1\",1)", iPos);
//ない文字列の位置を探す
iPos = txt1.indexOf("a");
displayStringBuilderData("txt1.indexOf(\"a\")", iPos);
try
{
//文字列の長さを超えた長さを第2引数に設定する
iPos = txt1.indexOf("0", txt1.length());
displayStringBuilderData("txt1.indexOf(\"0\", txt1.length())", iPos);
}
catch (Exception e)
{
Log.d("error",e.getMessage().toString());
}
finally
{
clearStringBuilderData(txt1);
txt1 = null;
}
}
//lastIndexOf
private void test4_3()
{
int iPos = 0;//位置を設定する変数
StringBuilder txt1 = new StringBuilder();
txt1.append("1234567890");
//1番最初の文字位置を探す
iPos = txt1.lastIndexOf("1");
displayStringBuilderData("txt1.lastIndexOf(\"1\")", iPos);
//1番最後の文字位置を探す
iPos = txt1.lastIndexOf("0");
displayStringBuilderData("txt1.lastIndexOf(\"1\")", iPos);
//存在しない文字を探す
iPos = txt1.lastIndexOf("a");
displayStringBuilderData("txt1.lastIndexOf(\"a\")", iPos);
clearStringBuilderData(txt1);
}
//lastIndexOf 開始位置あり
private void test4_4()
{
int iPos = 0;//位置を設定する変数
StringBuilder txt1 = new StringBuilder();
txt1.append("1234567890");
displayStringBuilderData("txt1.indexOf(\"1\")", iPos);
//1番最初の文字位置を探す
iPos = txt1.lastIndexOf("1",0);
displayStringBuilderData("txt1.indexOf(\"1\",0)", iPos);
//1番最後の文字位置を探す
iPos = txt1.lastIndexOf("1",1);
displayStringBuilderData("txt1.indexOf(\"1\",1)", iPos);
//ない文字列の位置を探す
iPos = txt1.lastIndexOf("a");
displayStringBuilderData("txt1.indexOf(\"a\")", iPos);
try
{
//文字列の長さを超えた長さを第2引数に設定する
iPos = txt1.lastIndexOf("0", txt1.length());
displayStringBuilderData("txt1.indexOf(\"a\", txt1.length())", iPos);
}
catch (Exception e)
{
Log.d("error",e.getMessage().toString());
}
finally
{
clearStringBuilderData(txt1);
txt1 = null;
}
}
}
|
結果
start: indexOfテスト -----------------------------------
test4_1();: indexOf
txt1.indexOf("1"): 0
txt1.indexOf("1"): 0
txt1.indexOf("0"): 9
txt1.indexOf("a"): -1
test4_2();: indexOf 開始位置あり
txt1.indexOf("1"): 0
txt1.indexOf("1",0): 0
txt1.indexOf("1",1): -1
txt1.indexOf("a"): -1
txt1.indexOf("0", txt1.length()): -1
test4_3();: lastndexOf
txt1.lastIndexOf("1"): 0
txt1.lastIndexOf("1"): 9
txt1.lastIndexOf("a"): -1
test4_4();: lastIndexOf 開始位置あり
txt1.indexOf("1"): 0
txt1.indexOf("1",0): 0
txt1.indexOf("1",1): 0
txt1.indexOf("a"): -1
txt1.indexOf("a", txt1.length()): 9
end: indexOfテスト -----------------------------------
共通メソッドおよびクラスをインスタンス化して実行しているメソッドは次の通りとなります。
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テスト -----------------------------------");
}
}
|
|
|