
#### 引言
Java 中 的 `String` 类 是 Java 编 程 语 言中最基本的类之一,用于表示字符串。它在
`java.lang` 包中,是所有 Java 程序的默认一部分。`String` 类是不可变的,这意味着一旦创
建了 `String` 对象,就不能更改它所包含的字符序列。这种不可变性带来了线程安全和许多
其他特性。本文将详细探讨 Java 中 `String` 类的特性及其使用。
#### String 类的特性
1. **不可变性(Immutability)**
`String` 对象一旦创建就不能被改变。例如,调用 `s.toUpperCase()` 不会改变 `s`,而是
返回一个新的 `String` 对象。
```java
String s = "hello";
String upper = s.toUpperCase(); // "HELLO", s 仍然是 "hello"
```
2. **常量池(String Pool)**
Java 使用字符串常量池来存储所有字符串字面量,这有助于节省内存和提高性能。
```java
String a = "hello";
String b = "hello";
System.out.println(a == b); // true, 因为 "hello" 只存储了一次
```
3. **与基本类型的不同**
`String` 类是对象,而字符序列是基本类型。这意味着 `String` 类可以拥有方法和属性。
4. **字符串连接**
`String` 类提供了多种连接字符串的方法,如 `concat()`, `+` 操作符。
```java
String s1 = "Hello";
String s2 = s1.concat(" World"); // "Hello World"
```
5. **字符串比较**
`String` 类提供了 `equals()` 和 `equalsIgnoreCase()` 方法 来比 较字 符 串内 容 ,以 及
`compareTo()` 方法来根据字典顺序比较字符串。
```java
String s1 = "hello";