String、StringBuilder、StringBuffer的区别

    xiaoxiao2021-03-25  119

    字符串篇 老话常谈字符类型的数据在项目中很常见,所以深刻的理解String,StringBuilder,StringBuffer尤为重要 String StringBuilder StringBuffer 相同点 字符串常量 字符串常量 字符串常量 线程安全 无 非线程安全 线程安全 字符序列 不可变的 可变 可变 速度 StringBuilder>StringBuffer>String String 特点: ①、String类型的对象在内存中是不可变的。也就是说每一次创建一个对象都会在内存中开辟 一个内存空间,并重新指向新改变的内存空间地址。当内存中无用引用对象多了,GC会开始回收内存, 相应的运行速度也会变慢。 StringBuffer 特点: ①、StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,某些方法调用可以改变 该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。 ②、StringBuffer 的主要方法是 append 和 insert 方法。append 方法始终将这些字符添加到缓冲区的末端; 而 insert 方法则在指定的点添加字符。 StringBuilder 特点: ①、StringBuilder是5.0新增的一个可变的字符序列字符串类,常用在字符串缓冲区被单个线程使用的时候 建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快;
    转载请注明原文地址: https://ju.6miu.com/read-2456.html

    最新回复(0)