Java字符串常用方法
在Java编程中,字符串(String
)是最常用的数据类型之一。Java的String
类提供了丰富的API,使得字符串操作变得简单而高效。本文将深入探讨Java字符串的常用方法,并通过代码示例展示这些方法的具体用法。
1. 字符串的创建与初始化
在Java中,字符串可以通过字面量、String
类的构造方法以及StringBuilder
/StringBuffer
类来创建。
// 使用字面量创建字符串
String str1 = Hello, World!;
// 使用String类的构造方法
String str2 = new String(Hello, Java!);
// 使用StringBuilder创建字符串
StringBuilder sb = new StringBuilder();
sb.append(Hello, ).append(StringBuilder!);
String str3 = sb.toString();
2. 获取字符串信息
2.1 获取字符串长度
String str = Hello, Java!;
int length = str.length();
System.out.println(Length: + length); // 输出: Length: 12
2.2 获取指定位置的字符
char ch = str.charAt(7); // 获取索引为7的字符
System.out.println(Character at index 7: + ch); // 输出: Character at index 7: J
2.3 获取子字符串
String subStr1 = str.substring(7); // 从索引7开始到字符串末尾
String subStr2 = str.substring(0, 5); // 从索引0开始到索引5(不包括5)
System.out.println(Substring from index 7: + subStr1); // 输出: Substring from index 7: Java!
System.out.println(Substring from index 0 to 5: + subStr2); // 输出: Substring from index 0 to 5: Hello
3. 字符串比较
3.1 使用equals
方法比较内容
String str1 = Hello;
String str2 = hello;
String str3 = Hello;
boolean isEqual1 = str1.equals(str2); // 比较内容是否相同,区分大小写
boolean isEqual2 = str1.equals(str3);
System.out.println(str1 equals str2: + isEqual1); // 输出: str1 equals str2: false
System.out.println(str1 equals str3: + isEqual2); // 输出: str1 equals str3: true
3.2 使用equalsIgnoreCase
方法比较内容(忽略大小写)
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2);
System.out.println(str1 equalsIgnoreCase str2: + isEqualIgnoreCase); // 输出: str1 equalsIgnoreCase str2: true
3.3 使用compareTo
方法比较字典顺序
int compareResult = str1.compareTo(str2); // 按字典顺序比较
System.out.println(Compare result: + compareResult); // 输出: Compare result: 32(因为'H' - 'h' = 32)
4. 字符串查找
4.1 查找字符或子字符串的索引
int index1 = str.indexOf('o'); // 查找字符'o'第一次出现的位置
int index2 = str.indexOf(Java); // 查找子字符串Java第一次出现的位置
int index3 = str.lastIndexOf('o'); // 查找字符'o'最后一次出现的位置
System.out.println(Index of 'o': + index1); // 输出: Index of 'o': 4
System.out.println(Index of 'Java': + index2); // 输出: Index of 'Java': 7
System.out.println(Last index of 'o': + index3); // 输出: Last index of 'o': 8
4.2 判断是否包含某个字符或子字符串
boolean containsHello = str.contains(Hello);
boolean containsJava = str.contains(Java);
System.out.println(Contains 'Hello': + containsHello); // 输出: Contains 'Hello': true
System.out.println(Contains 'Java': + containsJava); // 输出: Contains 'Java': true
5. 字符串修改
5.1 替换字符或子字符串
String replacedStr = str.replace(Java, World); // 替换子字符串
String replacedCharStr = str.replace('o', '0'); // 替换字符
System.out.println(Replaced 'Java' with 'World': + replacedStr); // 输出: Replaced 'Java' with 'World': Hello, World!
System.out.println(Replaced 'o' with '0': + replacedCharStr); // 输出: Replaced 'o' with '0': Hell0, Java!
5.2 分割字符串
String[] parts = str.split(, ); // 按, 分割字符串
for (String part : parts) {
System.out.println(part);
}
// 输出:
// Hello
// Java!
5.3 去除字符串两端的空白字符
String trimmedStr = Hello, Java! ;
String trimmed = trimmedStr.trim();
System.out.println(Trimmed string: ' + trimmed + '); // 输出: Trimmed string: 'Hello, Java!'
6. 字符串连接
6.1 使用+
操作符连接字符串
String greeting = Hello + , + World!;
System.out.println(greeting); // 输出: Hello, World!
6.2 使用String.join
方法连接字符串
String joinedStr = String.join(, , Hello, Java, World);
System.out.println(joinedStr); // 输出: Hello, Java, World
7. 字符串转换为其他类型
7.1 转换为整数
String numStr = 123;
int num = Integer.parseInt(numStr);
System.out.println(Parsed integer: + num); // 输出: Parsed integer: 123
7.2 转换为布尔值
String boolStr = true;
boolean bool = Boolean.parseBoolean(boolStr);
System.out.println(Parsed boolean: + bool); // 输出: Parsed boolean: true
总结
Java的String
类提供了丰富的API,使得字符串操作变得非常灵活和强大。本文介绍了字符串的创建、获取字符串信息、字符串比较、字符串查找、字符串修改、字符串连接以及字符串与其他类型之间的转换等常用方法,并通过代码示例展示了这些方法的具体用法。希望这些内容能帮助你更好地理解和使用Java中的字符串。