Java String 核心方法与使用技巧
String 是 Java 开发中最基础也最常用的类之一。理解它的不可变特性、内存机制以及常用 API,能避免很多潜在的 Bug。
构造与内存机制
字符串常量和对象实例在内存中的表现不同。编译器会对常量池进行优化,直接 new 的对象则会在堆中开辟新空间。
public class Test {
public static void main(String[] args) {
// 字符串常量引用,打印的是内容而非地址
String s1 = "hello";
System.out.println(s1);
// 字符数组构造
char[] array = {'a', 'b', 'c'};
String s2 = new String(array);
System.out.println(s2);
// 指定范围和长度构造
char[] array1 = {'a', 'b', 'c'};
String s4 = new String(array1, 0, 2); // 从索引 0 开始取 2 个字符
System.out.println(s4);
// 通过另一个 String 对象构造
String s3 = new String("hello");
System.out.println(s3);
}
}
注意:== 比较的是内存地址,而 equals() 比较的是内容值。空指针异常通常发生在调用方法前对象为 null,判断空字符串推荐使用 。


