String
类常用方法详解Java的String
类中有很多方法,用于执行各种字符串操作。下面是一些常用的String
方法及其示例
length() - 返回字符串的长度
String str = "你好世界";
System.out.println(str.length()); // 4
isEmpty() - 检查字符串是否为空
String str = "";
System.out.println(str.isEmpty()); // true
charAt(int index) - 返回指定索引处的字符
String str = "你好世界";
System.out.println(str.charAt(1)); // 好
substring(int beginIndex) - 返回子字符串
String str = "你好世界";
System.out.println(str.substring(2)); // 世界
substring(int beginIndex, int endIndex) - 返回子字符串
String str = "你好世界";
System.out.println(str.substring(1, 3)); // 好世
contains(CharSequence s) - 判断是否包含指定字符串
String str = "你好世界";
System.out.println(str.contains("世界")); // true
indexOf(String str) - 返回指定子字符串的索引
String str = "你好世界";
System.out.println(str.indexOf("好")); // 1
lastIndexOf(String str) - 返回指定子字符串最后出现的位置
String str = "你好世界,你好宇宙";
System.out.println(str.lastIndexOf("你好")); // 5
toUpperCase() - 将字符串转换为大写
String str = "abc";
System.out.println(str.toUpperCase()); // ABC
toLowerCase() - 将字符串转换为小写
String str = "ABC";
System.out.println(str.toLowerCase()); // abc
trim() - 去除字符串两边的空白字符
String str = " 你好世界 ";
System.out.println(str.trim()); // 你好世界
replace(char oldChar, char newChar) - 替换字符
String str = "你好,Java";
System.out.println(str.replace('好', '坏')); // 你坏,Java
replaceAll(String regex, String replacement) - 使用正则表达式替换字符串
String str = "你好,Java";
System.out.println(str.replaceAll("Java", "世界")); // 你好,世界
split(String regex) - 使用正则表达式分割字符串
String str = "你好,世界,Java";
String[] parts = str.split(",");
for (String part : parts) {
System.out.println(part);
}
// 你好
// 世界
// Java
startsWith(String prefix) - 检查字符串是否以指定前缀开始
String str = "你好世界";
System.out.println(str.startsWith("你")); // true
endsWith(String suffix) - 检查字符串是否以指定后缀结束
String str = "你好世界";
System.out.println(str.endsWith("界")); // true
compareTo(String anotherString) - 比较两个字符串
String str1 = "abc";
String str2 = "abd";
System.out.println(str1.compareTo(str2)); // -1 (因为 'c' < 'd')
equalsIgnoreCase(String anotherString) - 忽略大小写比较两个字符串
String str1 = "abc";
String str2 = "ABC";
System.out.println(str1.equalsIgnoreCase(str2)); // true
matches(String regex) - 检查字符串是否匹配指定的正则表达式
String str = "123";
System.out.println(str.matches("\\d+")); // true
concat(String str) - 连接字符串
String str1 = "你好";
String str2 = "世界";
System.out.println(str1.concat(str2)); // 你好世界
valueOf(Object obj) - 将对象转换为字符串
int num = 123;
String str = String.valueOf(num);
System.out.println(str); // "123"
intern() - 返回字符串对象的规范化表示形式
String str1 = new String("Hello").intern();
String str2 = "Hello";
System.out.println(str1 == str2); // true
getBytes() - 将字符串转换为其对应的字节数组
String str = "你好";
byte[] bytes = str.getBytes();
for (byte b : bytes) {
System.out.print(b + " ");
}
// 打印字节码
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) - 将字符从字符串复制到字符数组
String str = "你好世界";
char[] chars = new char[str.length()];
str.getChars(0, str.length(), chars, 0);
for (char c : chars) {
System.out.print(c + " ");
}
// 你 好 世 界
contentEquals(CharSequence cs) - 比较字符串和字符序列
String str = "你好世界";
StringBuffer sb = new StringBuffer("你好世界");
System.out.println(str.contentEquals(sb)); // true
regionMatches(int toffset, String other, int ooffset, int len) - 比较字符串的指定区域
String str1 = "你好世界";
String str2 = "你好宇宙";
System.out.println(str1.regionMatches(0, str2, 0, 2)); // true (比较前两个字符)
codePointAt(int index) - 返回指定索引处的字符的Unicode代码点
String str = "你好";
System.out.println(str.codePointAt(0)); // 20320 (你的Unicode代码点)
codePointBefore(int index) - 返回指定索引之前的字符的Unicode代码点
String str = "你好";
System.out.println(str.codePointBefore(1)); // 20320 (你的Unicode代码点)
codePointCount(int beginIndex, int endIndex) - 返回指定文本范围内的Unicode代码点数量
String str = "你好世界";
System.out.println(str.codePointCount(0, str.length())); // 4
offsetByCodePoints(int index, int codePointOffset) - 返回此String中从给定的index偏移codePointOffset个代码点后的索引
String str = "你好世界";
System.out.println(str.offsetByCodePoints(0, 2)); // 2
compareToIgnoreCase(String str) - 按字典顺序比较两个字符串,不考虑大小写
String str1 = "HELLO";
String str2 = "hello";
System.out.println(str1.compareToIgnoreCase(str2)); // 0
join(CharSequence delimiter, CharSequence… elements) - 将多个字符串连接为一个,用指定分隔符分隔
String joined = String.join("-", "Java", "is", "cool");
System.out.println(joined); // Java-is-cool
repeat(int count) - 返回一个字符串,其值为此字符串重复count次
String str = "ha";
System.out.println(str.repeat(3)); // hahaha