java - Java String 和 StringBuffer 中处理文本的类之间的差异

标签 java

当我声明一个String时,看起来像:

String a= "Hello, World!"

我想问的是:String是由数组组成的?

此外,我了解到 StringBuffer 对于文本编辑来说是特殊的。如果我使用String,则在执行程序时无法更改文本,这意味着如果我想更改或使用文本,我应该使用StringBuffer

大家说得对吗?

最佳答案

  1. 存储区域
    1.1 String - 常量字符串池
    1.2 StringBuffer - 堆
    1.3 StringBuilder - 堆

  2. 可修改
    2.1 字符串 - 否(不可变)
    2.2 StringBuffer - 是(可变)
    2.3 StringBuilder - 是(可变)

  3. 线程安全
    3.1 字符串 - 是
    3.2 StringBuffer - 是
    3.3 StringBuilder - 否

  4. 性能
    4.1 字符串 - 快速
    4.2 StringBuffer - 非常慢
    4.3 StringBuilder - 快速

关于java - Java String 和 StringBuffer 中处理文本的类之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25058861/

相关文章:

Java lambda表达式冗余调用外部方法——如何重写?

java - 基于android设备的不同fragment布局

订阅 PostgreSQL/MySql 的 Java 应用程序

Java 开关始终运行默认代码

java - 工厂模式和多态

java - 内部类中的私有(private)构造函数在外部类中初始化

java - Java boolean 方法最后返回 true 和 false 语句的区别

java - 在 MAPPER XML 中的 SELECT 语句中传递多个参数

java - BaseAdapter 只让我在 ListView Android 中排在第一位

java - 如何在 java 中正确输出这个数组?