String
类是 Java 中非常重要和常用的类之一,用于表示字符串。下面是关于 String
类的一些详细介绍:
1. 不可变性
String
对象一旦被创建,其内容就不可更改,因此被称为“不可变”的。这意味着一旦一个 String
对象被创建,它的内容就不能被修改。如果需要对字符串进行修改,实际上是创建了一个新的 String
对象,而原始的字符串对象保持不变。
2. 字符串池
Java 中的字符串池是一个存储字符串常量的内存区域,用于提高字符串的重用性和效率。当创建字符串时,如果字符串池中已经存在相同内容的字符串,则返回字符串池中的对象引用,而不会创建新的对象。这样可以减少内存消耗和提高性能。
3. 创建字符串
有多种方式可以创建字符串对象:
- 使用字符串字面值(String literals)
- 使用
new
关键字和构造函数 - 使用
String
类的静态方法
4. 字符串连接
在 Java 中,可以使用加号运算符(+
)来连接字符串,例如:
String str = "Hello" + " " + "World";
5. 字符串方法
String
类提供了许多方法来操作字符串,包括获取长度、提取子串、搜索子串、替换字符等等。常用的方法有:
1.length()
:返回字符串的长度。
String str = "Hello";
int length = str.length(); // length = 5
2.charAt(int index)
:返回指定索引位置的字符。
String str = "Hello";
char ch = str.charAt(0); // ch = 'H'
3.indexOf(String str)
:返回字符串中第一次出现指定子字符串的索引。
String str = "Hello";
int index = str.indexOf("l"); // index = 2
4.substring(int beginIndex, int endIndex)
:返回指定索引范围内的子字符串。
String str = "Hello";
String subStr = str.substring(2, 4); // subStr = "ll"
5.toUpperCase()
:将字符串转换为大写。
String str = "hello";
String upperCaseStr = str.toUpperCase(); // upperCaseStr = "HELLO"
6.toLowerCase()
:将字符串转换为小写。
String str = "HELLO";
String lowerCaseStr = str.toLowerCase(); // lowerCaseStr = "hello"
7.trim()
:去除字符串两端的空格。
String str = " Hello ";
String trimmedStr = str.trim(); // trimmedStr = "Hello"
8.startsWith(String prefix)
:检查字符串是否以指定的前缀开头。
String str = "Hello";
boolean startsWithHello = str.startsWith("Hello"); // startsWithHello = true
9.endsWith(String suffix)
:检查字符串是否以指定的后缀结尾。
String str = "Hello";
boolean endsWithLo = str.endsWith("lo"); // endsWithLo = true
10.replace(char oldChar, char newChar)
:将字符串中所有的指定字符替换为新字符。
String str = "Hello";
String replacedStr = str.replace('l', 'x'); // replacedStr = "Hexxo"
11.isEmpty():
检查字符串是否为空(长度为0)
String str = "";
boolean isEmpty = str.isEmpty(); // true
12. contains(CharSequence s)
:检查字符串是否包含指定的字符序列。
String str = "Hello World";
boolean contains = str.contains("World"); // true
13. split(String regex)
:根据给定的正则表达式将字符串拆分为子字符串数组。
String str = "apple,banana,orange";
String[] fruits = str.split(","); // ["apple", "banana", "orange"]
14.toCharArray():将字符串转换为字符数组