首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

StringBuilder 源码分析

StringBuilder 与 StringBuffer 区别与常见方法 StringBuilder 可变字符串,线程不太安全,但效率高,推荐使用。...StringBuilder 不是可以无限追加( append )字符串吗?其实这里用到了扩容。什么是扩容?...相关面试题的回答 StringBuilder 与 StringBuffer 的区别,StringBuilder 与 String 的区别。...1)StringBuilder效率高,线程不安全,StringBuffer效率低,线程安全。 2)String是不可变字符串,StringBuilder是可变字符串。...3)如果是简单的声明一个字符串没有后续过多的操作,使用 String,StringBuilder 均可,若后续对字符穿做频繁的添加,删除操作,或者是在循环当中动态的改变字符串的长度应该用 StringBuilder

68020

StringBuilder的用法

StringBuilder则没有保证线程的安全,从而性能略高于StringBuffer。 使用场景 频繁使用字符串拼接的时候可以用StringBuilder(推荐)或者StringBuffer。...用法 一、StringBuilder对象的创建(下文builder是StringBuilder创建出来的对象) 1.常规创建 StringBuilder builder = new StringBuilder...(); 2.在创建的时候添加初始字符串 StringBuilder builder = new StringBuilder("abc"); 3.在创建的时候添加初始长度 StringBuilder builder...= new StringBuilder(初始长度); 这里需要注意的是如果在StringBuilder的对象创建时没有指定长度,StringBuilder对象会自动生成一个16位的字符数组 二、StringBuilder...对象设置长度:StringBuilder builder = new StringBuilder(初始长度)。

40510

java StringBuffer和StringBuilder

二、如何优化StringBuffer和StringBuilder的性能? 在创建StringBuffer和StringBuilder的时候尽可能给定一个初始化容量。 最好减少底层数组的扩容次数。...StringBuilder中的方法都没有:synchronized 关键字修饰,表示StringBuilder在多线程环境下运行是不安全的。 StringBuffer是线程安全的。...注意: StringBuffer和StringBuilder默认初始化容量为16个byte[] 数组 总结 StringBuffer/StringBuilder可以看做 可变长度字符串。...StringBuffer/StringBuilder是完成字符串拼接操作的,方法名:append StringBuffer是线程安全的。StringBuilder是非线程安全的。...频繁进行字符串拼接不建议使用“+” 六、构造方法 构造方法名 StringBuilder() StringBuilder(int capacity) StringBuilder(String str)

27610

String、StringBuilder和StringBuffer

首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String   String最慢的原因:   String为字符串常量,而StringBuilder...而StringBuilder和StringBuffer的对象是变量,对变量进行操作就是直接对该对象进行更改,而不进行创建和回收的操作,所以速度要比String快很多。   ...另外,有时候我们会这样对字符串进行赋值 String str="abc"+"de"; StringBuilder stringBuilder=new StringBuilder().append("abc...中很多方法可以带有synchronized关键字,所以可以保证线程是安全的,但StringBuilder的方法则没有该关键字,所以不能保证线程安全,有可能会出现一些错误的操作。...所以如果要进行的操作是多线程的,那么就要使用StringBuffer,但是在单线程的情况下,还是建议使用速度比较快的StringBuilder。   3.

22210
领券