Java的字符串操作

一、比较

语言 操作 形式 机制 线程安全性
c/c++ char* 字符指针 通过手动修改指针指向的内存空间修改字符串 未知
c/c++ String 容器类 内部使用char数组存储字符,但内存管理,分配和null终止都由字符串类本身来处理 并发的读操作是线程安全的
Java String 1. String a = “a”,是以字面常量的形式储存在常量池中
2. new String(“a”) 创建的以对象的形式存放在堆中
对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象 安全
Java StringBuilder 对象 所有操作都在原有的对象上进行 不安全
Java StringBuffer 对象 所有操作都在原有的对象上进行 安全