java中的string
Java 中的 String 是一个非常重要且使用广泛的类,用于表示字符串(字符序列)。它位于 java.lang 包中,因此不需要显式导入。
String 对象一旦创建,其内容就不能改变。任何看似修改字符串的操作(如 concat、replace、toUpperCase 等)实际上都会返回一个新的 String 对象。
为了节省内存,JVM 维护了一个字符串常量池。使用字面量(如 "abc")创建的字符串会放入池中,相同内容的字面量会复用同一个对象。
通过 new String("abc") 会在堆上创建新对象(即使池中已有),除非手动调用 intern() 方法。
以下是String的常用创建方式:
字面量:String str = "Hello";
构造方法:String str = new String("Hello");
字符数组:String str = new String(new char[]{'H','e'});
字节数组:String str = new String(byteArray, StandardCharsets.UTF_8);
而String的具体用法和C++的基本相同,但是具体的方法和C++中还是有区别,在这里不在赘述。值得一提的是:Java 的 String 不像 C 中那样以 \0 结尾。与 C++ 的 std::string 不同,Java 的 String 不可变,而 StringBuilder 充当可变版本。

浙公网安备 33010602011771号