下面是深入了解Java核心类库--String类的完整攻略。
String类简介
Java中的String类属于Java标准库的一部分,是一个非常基础的类,它代表着字符串类型的数据。在Java中,字符串使用双引号("")表示,而String类提供了非常丰富的操作字符串的方法,并且String类是一个final类,也就是说它不能被继承。
创建String对象
在Java中创建一个String对象可以有两种方法:
1. 直接使用字符串字面值创建String对象
String str = "Hello World";
- 使用new关键字创建String对象
String str = new String("Hello World");
需要注意的是,使用第一种方法创建出来的String对象会默认存放在字符串常量池中,而第二种方法则会在堆内存中新建一个对象。
字符串的常见操作
拼接字符串
在Java中,有两种方法可以拼接字符串。
1. 使用加号(+)拼接
String str1 = "Hello";
String str2 = " World";
String str3 = str1 + str2;
System.out.println(str3); // 输出: Hello World
- 使用StringBuffer或StringBuilder拼接
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("Hello");
stringBuffer.append(" World");
String str3 = stringBuffer.toString();
System.out.println(str3); // 输出: Hello World
需要注意的是,StringBuffer是线程安全的,而StringBuilder则非线程安全,但是StringBuilder的性能会更好一些。
查找子字符串
String类提供了若干方法可以查找子字符串,比如contains()、startsWith()、endsWith()、indexOf()等等。
String str = "Hello World";
boolean flag1 = str.contains("World"); // true
boolean flag2 = str.startsWith("Hello"); // true
boolean flag3 = str.endsWith("World"); // true
int index = str.indexOf("o"); // 返回2
替换子字符串
使用replace()方法可以替换字符串中的子字符串。
String str = "Hello World";
String newStr = str.replace("World", "Java");
System.out.println(newStr); // 输出: Hello Java
分割字符串
使用split()方法可以将一个字符串根据指定的分隔符拆分成一个字符串数组。
String str = "Hello World";
String[] arr = str.split(" ");
System.out.println(Arrays.toString(arr)); // 输出: [Hello, World]
示例说明
以下是一个使用String类的示例,演示如何将一个字符串中的单词反转。
public static void main(String[] args) {
String str = "Hello World";
String[] arr = str.split(" ");
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
String tmpStr = arr[i];
char[] chars = tmpStr.toCharArray();
for (int j = chars.length - 1; j >= 0; j--) {
stringBuffer.append(chars[j]);
}
stringBuffer.append(" ");
}
String newStr = stringBuffer.toString().trim();
System.out.println(newStr); // 输出: olleH dlroW
}
以上就是关于深入了解Java核心类库--String类的完整攻略,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深入了解Java核心类库–String类 - Python技术站