String クラスの各メソッド

import java.io.*;

public class Test {
	public static void main(String args[])
	{
		char c1[] = {'a', 'b', 'c', 'd', 'e'};   // char c1[] = {"abcde"}; は誤り
		String s1 = "abcdefghabcdef";
		String s2 = new String(c1, 1, 2);
		String s3 = "ABC";
		String s4 = "abc";

		System.out.println("コンストラクタ");
		System.out.println("   s1(初期設定) " + s1);
		System.out.print("   c1 ");
		for (int i1 = 0; i1 < c1.length; i1++)
			System.out.print(c1[i1]);
		System.out.println();
		System.out.println("   s2(文字型配列c1の要素1から2個を取り出す) " + s2);

		System.out.println("文字列 " + s4 + " と " + s3 + " の比較");
		System.out.println("   大文字と小文字を区別 " + s4.compareTo(s3));
		System.out.println("   大文字と小文字を区別しない " + s4.compareToIgnoreCase(s3));
		System.out.println("   equalsによる比較 " + s4.equals(s3));

		System.out.println("文字列 " + s1 + " の要素8から始まり長さ2の文字列を,文字列 " +
                           s3 + " の要素0から始まる同じ長さの文字列と比較" +
                           "(大文字と小文字を区別しない)");
		System.out.println("   " + s1.regionMatches(true, 8, s3, 0, 2));

		System.out.println("文字列 " + s1 + " の後ろに " + s3 + " を結合(結果の文字列長も出力)");
		String s5 = s1.concat(s3);
		System.out.println("   " + s5 + " length " + s5.length());

		System.out.println("文字列 " + s1 + " の要素8~10までからなる部分文字列");
		System.out.println("   " + s1.substring(8, 11));

		System.out.println("文字列 " + s3 + " の要素0~1を文字型配列c1の要素2以降へコピー");
		System.out.print("   c1(コピー前) ");
		for (int i1 = 0; i1 < c1.length; i1++)
			System.out.print(c1[i1]);
		System.out.println();
		s3.getChars(0, 2, c1, 2);
		System.out.print("   c1(コピー前) ");
		for (int i1 = 0; i1 < c1.length; i1++)
			System.out.print(c1[i1]);
		System.out.println();

		System.out.println("文字列 " + s1 + " を文字型配列c2に変換");
		char c2[] = s1.toCharArray();
		System.out.print("   c2 ");
		for (int i1 = 0; i1 < c2.length; i1++)
			System.out.print(c2[i1]);
		System.out.println();

		System.out.println("文字列 " + s1 + " を対象とした検索");
		System.out.println("   文字c(最初から後方へ) " + s1.indexOf('c'));
		System.out.println("   文字c(要素3以降から後方へ) " + s1.indexOf('c', 3));
		System.out.println("   文字列cd(最初から後方へ) " + s1.indexOf("cd"));
		System.out.println("   文字列cd(要素3以降から後方へ) " + s1.indexOf("cd", 3));
		System.out.println("   文字列cd(後ろから前方へ) " + s1.lastIndexOf("cd"));
		System.out.println("   文字列cd(要素3から前方へ) " + s1.lastIndexOf("cd", 3));

		System.out.println("文字列 " + s1 + " 内に現れる文字cをすべてXに置換");
		System.out.println("   " + s1.replace('c', 'X'));

		System.out.println("文字列 " + s5 + " を,大文字または小文字へ変換");
		System.out.println("   小文字へ " + s5.toLowerCase());
		System.out.println("   大文字へ " + s5.toUpperCase());

		System.out.println("文字列  ABCdEF  EF 両端のスペースを取り除く");
		System.out.println("   " + "  ABCdEF  EF ".trim());

		System.out.println("文字型配列,数値をStringオブジェクトへの変換");
		System.out.print("   c2 ");
		for (int i1 = 0; i1 < c2.length; i1++)
			System.out.print(c2[i1]);
		System.out.println();
		System.out.println("   文字型配列c2の要素4から3個 " + String.valueOf(c2, 4, 3));
		System.out.println("   3.14 " + String.valueOf(3.14));
		System.out.println("   101 " + String.valueOf(101));
	}
}
		
(出力)
コンストラクタ
   s1(初期設定) abcdefghabcdef
   c1 abcde
   s2(文字型配列c1の要素1から2個を取り出す) bc
文字列 abc と ABC の比較
   大文字と小文字を区別 32
   大文字と小文字を区別しない 0
   equalsによる比較 false
文字列 abcdefghabcdef の要素8から始まり長さ2の文字列を,文字列 ABC の要素0から始まる同じ長さの文字列と比較(大文字と小文字を区別しない)
   true
文字列 abcdefghabcdef の後ろに ABC を結合(結果の文字列長も出力)
   abcdefghabcdefABC length 17
文字列 abcdefghabcdef の要素8~10までからなる部分文字列
   abc
文字列 ABC の要素0~1を文字型配列c1の要素2以降へコピー
   c1(コピー前) abcde
   c1(コピー前) abABe
文字列 abcdefghabcdef を文字型配列c2に変換
   c2 abcdefghabcdef
文字列 abcdefghabcdef を対象とした検索
   文字c(最初から後方へ) 2
   文字c(要素3以降から後方へ) 10
   文字列cd(最初から後方へ) 2
   文字列cd(要素3以降から後方へ) 10
   文字列cd(後ろから前方へ) 10
   文字列cd(要素3から前方へ) 2
文字列 abcdefghabcdef 内に現れる文字cをすべてXに置換
   abXdefghabXdef
文字列 abcdefghabcdefABC を,大文字または小文字へ変換
   小文字へ abcdefghabcdefabc
   大文字へ ABCDEFGHABCDEFABC
文字列  ABCdEF  EF 両端のスペースを取り除く
   ABCdEF  EF
文字型配列,数値をStringオブジェクトへの変換
   c2 abcdefghabcdef
   文字型配列c2の要素4から3個 efg
   3.14 3.14
   101 101