文字列: 文字列型
1. コンストラクター
次のようにコードをコピーします。
String(byte[ ] bytes): バイト配列から文字列オブジェクトを構築します。
String(char[ ] value): char 配列から文字列オブジェクトを構築します。
文字列(オリジナルの文字列): オリジナルのコピーを作成します。つまり、オリジナルをコピーします。
String(StringBuffer バッファ): StringBuffer 配列を通じて文字列オブジェクトを構築します。
例えば:
次のようにコードをコピーします。
byte[] b = {'a','b','c','d','e','f','g','h','i','j'};
char[] c = {'0','1','2','3','4','5','6','7','8','9'};
文字列 sb = 新しい文字列(b) //abcdefghij;
String sb_sub = new String(b,3,2);
文字列 sc = 新しい文字列(c) //0123456789;
文字列 sc_sub = 新しい文字列(c,3,2); //34
文字列 sb_copy = 新しい文字列(sb); //abcdefghij
System.out.println("sb:"+sb);
System.out.println("sb_sub:"+sb_sub);
System.out.println("sc:"+sc);
System.out.println("sc_sub:"+sc_sub);
System.out.println("sb_copy:"+sb_copy);
出力結果:sb:abcdefghij
sb_sub:de
sc:0123456789
sc_sub:34
sb_copy:abcdefghij
2.方法:
注: ①.すべてのメソッドは公開されています。
②. 記述形式:[修飾子]<戻り値の型><メソッド名([パラメータリスト])>
例: static int parseInt(String s)
このメソッド (parseInt) がクラス メソッド (静的) であり、戻り値の型が (int) であり、メソッドが String 型を必要とすることを示します。
1. char charAt(int Index): 文字列内の特定の文字を取得します。パラメータ インデックスは文字列内の序数を指します。文字列の序数は 0 から始まり、length()-1 までになります。
例: String s = new String("abcdefghijklmnopqrstuvwxyz");
System.out.println("s.charAt(5): " + s.charAt(5) );
結果は次のようになります: s.charAt(5): f
2. int CompareTo(String anotherString): 現在の String オブジェクトを anotherString と比較します。等価関係は 0 を返します。等しくない場合は、2 つの文字列の 0 番目の文字から比較が開始され、最初の不等文字の違いが返されます。場合によっては、長い文字列の前の部分が短い文字列になります。長さの差を返します。
3. int CompareTo(Object o): o が String オブジェクトの場合、関数は 2 と同じです。それ以外の場合は、ClassCastException がスローされます。
例: String s1 = new String("abcdefghijklmn");
文字列 s2 = 新しい文字列("abcdefghij");
文字列 s3 = 新しい文字列("abcdefghijalmn");
System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //長さの差を返す
System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); // 'k'-'a' の差の結果を返す: s1.compareTo(s2): 4
s1.compareTo(s3): 10
4. String concat(String str): String オブジェクトを str と連結します。
5. boolean contentEquals(StringBuffer sb): String オブジェクトと StringBuffer オブジェクト sb を比較します。
6. 静的文字列 copyValueOf(char[] data):
7. static String copyValueOf(char[] data, int offset, int count): これら 2 つのメソッドは、コンストラクターの 1 つと同様に、char 配列を String に変換します。
8. boolean endsWith(String suffix): String オブジェクトがサフィックスで終わるかどうか。
例: String s1 = new String("abcdefghij");
文字列 s2 = 新しい文字列("ghij");
System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) );
結果は次のようになります: s1.endsWith(s2): true
9. booleanquals(Object anObject): anObject が空ではなく、現在の String オブジェクトと同じである場合は true を返し、それ以外の場合は false を返します。
10. byte[] getBytes(): String オブジェクトをバイト配列に変換します。
11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin): このメソッドは文字列を文字配列にコピーします。このうち、srcBeginはコピーの開始位置、srcEndはコピーの終了位置、文字列値dstは対象の文字配列、dstBeginは対象の文字配列のコピー開始位置です。
例: char[] s1 = {'I',' ','l','o','v','e',' ','h','e','r','!' } ;//s1=私は彼女を愛しています!
String s2 = new String("you!"); s2.getChars(0,3,s1,7); //s1=愛しています!
System.out.println( s1 );
結果は、「愛しています!」です。
12. int hashCode(): 現在の文字のハッシュ テーブル コードを返します。
13. int IndexOf(int ch): 最初に一致した文字位置のみを検索します。
14. int IndexOf(int ch, int fromIndex): fromIndex から開始して最初に一致する文字位置を検索します。
15. int indexOf(String str): 最初に一致する文字列位置のみを検索します。
16. int IndexOf(String str, int fromIndex): fromIndex から開始して最初に一致する文字列位置を検索します。
例: String s = new String("一度書けばどこでも実行可能!");
String ss = new String("run");
System.out.println("s.indexOf('r'): " + s.indexOf('r') );
System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) );
System.out.println("s.indexOf(ss): " + s.indexOf(ss) );
結果は次のようになります: s.indexOf('r'): 1
s.indexOf('r',2): 12
s.indexOf(ss): 12
17. int lastIndexOf(int ch)
18. int lastIndexOf(int ch, int fromIndex)
19. int lastIndexOf(String str)
20. int lastIndexOf(String str, int fromIndex) 上記 4 つのメソッドは、13、14、15、および 16 に似ています。違いは、最後に一致したコンテンツを検索することです。
パブリック クラス CompareToDemo {
public static void main (String[] args) {
文字列 s1 = 新しい文字列("acbdebfg");
System.out.println(s1.lastIndexOf((int)'b',7));
}
}
走行結果:5
(fromIndex のパラメータは 7 で、これは文字列 acbdebfg の最後の文字 g から数えた桁数です。文字 c から照合を開始するため、b に一致する最後の位置を探します。そのため、結果は 5 になります。)
21. int length(): 現在の文字列の長さを返します。
22. String replace(char oldChar, char newChar): 文字列の最初の oldChar を newChar に置き換えます。
23. boolean startingWith(String prefix): String オブジェクトが prefix で始まるかどうか。
24. boolean startingWith(String prefix, int toffset): String オブジェクトが toffset 位置から数えて prefix で始まるかどうか。
例: String s = new String("一度書けばどこでも実行可能!");
String ss = new String("write");
String sss = new String("once");
System.out.println("s.startsWith(ss): " + s.startsWith(ss) );
System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) );
結果は次のようになります。 s.startsWith(ss): true
s.startsWith(sss,6): true
25. String substring(int beginIndex): beginIndex 位置から最後までの部分文字列を取得します。
26.String substring(int beginIndex, int endIndex): beginIndex 位置から endIndex 位置までの部分文字列を取得します。
27. char[ ] toCharArray(): String オブジェクトを char 配列に変換します。
28. String toLowerCase(): 文字列を小文字に変換します。
29. String toUpperCase(): 文字列を大文字に変換します。
例: String s = new String("java.lang.Class String");
System.out.println("s.toUpperCase(): " + s.toUpperCase() );
System.out.println("s.toLowerCase(): " + s.toLowerCase() );
結果は次のようになります: s.toUpperCase(): JAVA.LANG.CLASS STRING
s.toLowerCase(): java.lang.class 文字列
30. 静的文字列 valueOf(boolean b)
31. 静的文字列 valueOf(char c)
32. 静的文字列 valueOf(char[] データ)
33. static String valueOf(char[] data, int offset, int count)
34. 静的文字列 valueOf(double d)
35. 静的文字列 valueOf(float f)
36. 静的文字列 valueOf(int i)
37. 静的文字列 valueOf(long l)
38. 静的文字列 valueOf(オブジェクト obj)
上記のメソッドは、さまざまな型を Java 文字型に変換するために使用されます。これらはクラスメソッドです。
Java の String クラスの一般的なメソッド:
パブリック char charAt(int インデックス)
文字列内のインデックス文字を返します。
パブリック int length()
文字列の長さを返します。
public intindexOf(String str)
文字列内で最初に出現する str の位置を返します。
public int IndexOf(String str,int fromIndex)
fromIndex から始まる文字列内で最初に出現する str の位置を返します。
public booleanqualsIgnoreCase(String another)
文字列が別の文字列と同じかどうかを比較します (大文字と小文字は無視します)。
public String replace(char oldchar,char newChar)
文字列内の oldChar 文字を newChar 文字に置き換えます
public boolean startsWith(文字列プレフィックス)
文字列がプレフィックス文字列で始まるかどうかを判断します。
public boolean endsWith(文字列サフィックス)
文字列が接尾辞文字列で終わるかどうかを判断します。
public String toUpperCase()
文字列の大文字バージョンである文字列を返します。
public String toLowerCase()
文字列の小文字バージョンである文字列を返します。
public String substring(int beginIndex)
beginIndex から文字列の末尾までの部分文字列を返します。
public String substring(int beginIndex,int endIndex)
beginIndex から endIndex の終わりまでの文字列の部分文字列を返します。
パブリック文字列トリム()
先頭と末尾のスペースを削除した後の文字列を返します。
public String[] 分割(文字列正規表現)
指定された区切り文字に従って文字列を分割し、分割された文字列配列インスタンスを返します。
次のようにコードをコピーします。
パブリック クラス SplitDemo{
public static void main (String[] args) {
文字列日付 = "2008/09/10";
String[ ] dateAfterSplit= 新しい String[3];
dateAfterSplit=date.split("/"); //「/」を区切り文字として使用して日付文字列を分割し、結果を 3 つの文字列に入れます。
for(int i=0;i<dateAfterSplit.length;i++)
System.out.print(dateAfterSplit[i]+" ");
}
}
実行結果: 2008 09 10 //結果は 3 つの分割文字列インスタンスになります。
テストストリング1.java:
プログラムコード
次のようにコードをコピーします。
パブリック クラス TestString1
{
public static void main(String args[]) {
文字列 s1 = "Hello World";
文字列 s2 = "こんにちは";
System.out.println(s1.charAt(1));
System.out.println(s2.length());
System.out.println(s1.indexOf("世界"));
System.out.println(s2.indexOf("世界"));
System.out.println(s1.equals(s2));
System.out.println(s1.equalsIgnoreCase(s2));
String s = "私は J2EE プログラマーです";
文字列 sr = s.replace('私','あなた');
System.out.println(sr);
}
}
テストストリング2.java:
プログラムコード
次のようにコードをコピーします。
パブリック クラス TestString2
{
public static void main(String args[]) {
文字列 s = "Java ワールドへようこそ!";
文字列 s2 = "magci" ;
System.out.println(s.startsWith("ようこそ"));
System.out.println(s.endsWith("World"));
文字列 sL = s.toLowerCase();
文字列 sU = s.toUpperCase();
System.out.println(sL);
System.out.println(sU);
文字列 subS = s.substring(11);
System.out.println(subS);
文字列 s1NoSp = s2.trim();
System.out.println(s1NoSp);
}