JavaのStringクラスメソッドの詳しい説明
- 1. int length() は文字列の長さを返します
- 2. char charAt(int index) はインデックスの文字を返します
- 3. boolean isEmpty() で空の文字列かどうかを判断
- 4. String toLowerCase() および String toUpperCase() は、String 内のすべての文字を大文字と小文字に変換します
- 5. String trim() は、先頭と末尾の空白を無視して文字列のコピーを返します
- 6. boolean equals(Object obj) は、2 つの文字列の内容が同じかどうかを比較します
- 7. String concat(String str) 指定された文字列をこの文字列の末尾に連結します
- 8. int compareTo(String anotherString) は 2 つの文字列のサイズを比較します
- 9. String substring(int beginIndex) は、新しい文字列を返し、beginIndex から最後の部分文字列までをインターセプトします。
- 10. boolean extendsWith(String suffix) この文字列が指定された接尾辞で終わるかどうかをテストします
- 11. boolean startsWith(String prefix) この文字列が指定されたプレフィックスで始まるかどうかをテストします
- 12. boolean contains(CharSequence s) は、この文字列に指定された char 値のシーケンスが含まれている場合にのみ true を返します。
- 13.int indexOf()
- 14. 文字列置換()
- 15. boolean matches(String regex) は、この文字列が指定された正規表現と一致するかどうかを示します
- 16. String[] split(String regex) 指定された正規表現の一致に基づいて、この文字列を分割します
- 17. String と基本データ型とラッパー クラス間の変換
- 18. String と char[] の変換
- 19. String と byte[] の変換
1. int length() は文字列の長さを返します
String s1 = "Hello World";
System.out.println(s1.length());
出力: 11
2. char charAt(int index) はインデックスの文字を返します
String s1 = "Hello World";
System.out.println(s1.charAt(0));
出力: H
3. boolean isEmpty() で空の文字列かどうかを判断
String s1 = "Hello World";
String s2 = "";
System.out.println(s1.isEmpty());
System.out.println(s2.isEmpty());
出力:
false
true
4. String toLowerCase() および String toUpperCase() は、String 内のすべての文字を大文字と小文字に変換します
String s1 = "Hello World";
String s2 = s1.toLowerCase(Locale.ROOT);
System.out.println(s2);
String s3 = s2.toUpperCase(Locale.ROOT);
System.out.println(s3);
出力:
hello world
HELLO WORLD
5. String trim() は、先頭と末尾の空白を無視して文字列のコピーを返します
String s3 = " Hello World ";
String s4 = s3.trim();
System.out.println("|"+s3+"|");
System.out.println("|"+s4+"|");
出力:
| Hello World |
|Hello World|
6. boolean equals(Object obj) は、2 つの文字列の内容が同じかどうかを比較します
String s1 = "abc";
String s2 = "abe";
System.out.println(s1.equals(s2));
出力:
false
boolean equalsIgnoreCase(String anotherString) は、大文字と小文字を区別しない equals メソッドに似ています
7. String concat(String str) 指定された文字列をこの文字列の末尾に連結します
String s1 = "abc";
String s2 = "abe";
System.out.println(s1.concat(s2));
出力:
abcabe
8. int compareTo(String anotherString) は 2 つの文字列のサイズを比較します
文字列を ASCII コードにパックし、サイズを比較します
String s1 = "abc";
String s2 = "abe";
System.out.println(s1.compareTo(s2));
出力:
-2 // 0 より大きい場合は s1 の方が大きく、0 より小さい場合は s2 の方が大きく、0 に等しい場合は等しい
9. String substring(int beginIndex) は、新しい文字列を返し、beginIndex から最後の部分文字列までをインターセプトします。
String substring(int beginIndex, int endIndex) は、beginIndex から endIndex までをインターセプトした新しい文字列を返します。
String s1 = "abcdef";
System.out.println(s1.substring(2));
System.out.println(s1.substring(2, 4));
出力:
cdef
cd
10. boolean extendsWith(String suffix) この文字列が指定された接尾辞で終わるかどうかをテストします
String s1 = "abcdef";
System.out.println(s1.endsWith("ef"));
出力:
真
11. boolean startsWith(String prefix) この文字列が指定されたプレフィックスで始まるかどうかをテストします
- boolean startsWith(String prefix, int toffset) 指定されたインデックスで始まるこの文字列の部分文字列が、指定されたプレフィックスで始まるかどうかをテストします
String s1 = "abcdef";
System.out.println(s1.endsWith("ab"));
System.out.println(s1.startsWith("cd", 2));
出力:
true
true
12. boolean contains(CharSequence s) は、この文字列に指定された char 値のシーケンスが含まれている場合にのみ true を返します。
String s1 = "abcdef";
System.out.println(s1.contains("ef"));
System.out.println(s1.contains("ac"));
出力:
true
false
13.int indexOf()
- int indexOf(String str) この文字列で指定された部分文字列が最初に出現するインデックスを返します
- int indexOf(String str, int fromIndex) 指定されたインデックスから開始して、この文字列内で指定された部分文字列が最初に出現するインデックスを返します。
String s1 = "abcdefabcdef";
System.out.println(s1.indexOf("f"));
System.out.println(s1.indexOf("f", 6));
5
11
- int lastIndexOf(String str) この文字列内で指定された部分文字列が右端に出現する位置のインデックスを返します
- int lastIndexOf(String str, int fromIndex) この文字列内で指定された部分文字列が最後に出現した位置のインデックスを返し、指定されたインデックスから逆方向検索を開始します。
String s1 = "abcdefabcdef";
System.out.println(s1.lastIndexOf("a"));
System.out.println(s1.lastIndexOf("a", 4));
System.out.println(s1.lastIndexOf("ad"));
出力:
6
0
-1
14. 文字列置換()
- String replace(char oldChar, char newChar) は、この文字列内のすべての oldChar を newChar に置き換えて取得した新しい文字列を返します。
String s1 = "abcdefabcdef";
String s2 = s1.replace('a', 'b');
System.out.println(s2);
System.out.println(s1);
出力:
bbcdef bbcdef
abcdef abcdef
- String replace(CharSequence target, CharSequence replacement) リテラル ターゲット シーケンスに一致するこの文字列のすべての部分文字列を、指定されたリテラル置換シーケンスに置き換えます
String s1 = "abcdefabcdef";
String s2 = s1.replace("ab", "ba");
System.out.println(s2);
System.out.println(s1);
bacdefbacdef
abcdefabcdef
- String replaceAll(String regex, String replacement) 指定された正規表現に一致するこの文字列のすべての部分文字列を指定された置換で置き換えます
String s1 = "abcdefabcdef";
String s2 = s1.replaceAll("abc", "cba");
System.out.println(s2);
System.out.println(s1);
cbadefcbadef
abcdefabcdef
- String replaceFirst(String regex, String replacement) は、指定された正規表現に一致するこの文字列の最初の部分文字列を、指定された置換で置き換えます
String s1 = "abcdefabcdef";
String s2 = s1.replaceFirst("abc", "cba");
System.out.println(s2);
System.out.println(s1);
cbadefabcdef
abcdefabcdef
15. boolean matches(String regex) は、この文字列が指定された正規表現と一致するかどうかを示します
String s3 = "123";
// \\d+:表示是否有多个数字组成
boolean matches = s3.matches("\\d+");
System.out.println(matches);
String s4 = "021-3478929";
// 是否是由021-开头组成的7-8为数组
boolean matche = s4.matches("021-\\d{7,8}");
System.out.println(matche);
真
真
16. String[] split(String regex) 指定された正規表現の一致に基づいて、この文字列を分割します
String s1 = "java|c++|python";
// 以“|”为分隔符,将字符串切分,返回字符串数组
String[] str = s1.split("\\|");
for (String string : str) {
System.out.println(string);
}
Java
C++
パイソン
- String[] split(String regex, int limit) 指定された正規表現に一致するようにこの文字列を分割します, 制限を超えないようにします. 制限を超えた場合, 残りはすべて最後の要素に配置されます
String s1 = "java|c++|python|go|php";
String[] str = s1.split("\\|", 3);
for (String string : str) {
System.out.println(string);
}
java
c++
python|go|php
17. String と基本データ型とラッパー クラス間の変換
// string --> 基本数据类型,包装类Integer
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);
// 基本数据类型--->String
String str1 = String.valueOf(num);
String str2 = num + "";
System.out.println(str1);
System.out.println(str2);
18. String と char[] の変換
- 文字列 —> char[]: toCharArray() メソッドの呼び出し
// String 与 char[] 之间的转换
// String ---> char[]
String str = "abc123";
char[] chars = str.toCharArray();
for (char ch : chars) {
System.out.println(ch);
}
- char[]—>String: String の char 配列コンストラクターを呼び出します
// char[]--->String
char[] chars1 = new char[]{
'a', 'b', 'c', '1', '2', '3'};
// 调用String的char数组构造器
String str1 = new String(chars1);
System.out.println(str1);
19. String と byte[] の変換
- 文字列 —> byte[]: getBytes() を呼び出します
// String ---> byte[]:调用getBytes()
String str = "abc123";
byte[] bytes = str.getBytes();
System.out.println(Arrays.toString(bytes));
String str0 = "abc123中国";
- byte[] —> String : String の byte[] ビルダーを呼び出します
// byte[] ---> String :调用String的byte[]造器
byte[] bytes1 = new byte[]{
97, 98, 99, 49, 50, 51};
String str2= new String(bytes1);
System.out.println(str2);