String、stringbuffer与stringbuilder的区别
2015-07-08 14:15
489 查看
1. 在执行速度方面的比较: StringBuilder > StringBuffer > String
2. StringBuffer 与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像 String一样创建一些对象进行操作,所以速度就快了。
3. StringBuilder :线程非安全的
StringBuffer:线程安全的
当我们在字符串缓冲去被多个线程使用是, JVM不能保证StringBuilder 的操作是安全的,虽然他的速度最快,但是可以保证 StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用 StringBuilder而不用StringBuffer 的,就是速度的原因。
对于三者使用的总结 : 1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 =
StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 =
StringBuffer
2. StringBuffer 与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像 String一样创建一些对象进行操作,所以速度就快了。
3. StringBuilder :线程非安全的
StringBuffer:线程安全的
当我们在字符串缓冲去被多个线程使用是, JVM不能保证StringBuilder 的操作是安全的,虽然他的速度最快,但是可以保证 StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用 StringBuilder而不用StringBuffer 的,就是速度的原因。
对于三者使用的总结 : 1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 =
StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 =
StringBuffer
相关文章推荐
- Android开发UI之开源项目第一篇——个性化控件(View)篇
- [leetcode] 132.Implement Queue using Stacks
- 开始刷leetcode day60: Unique Paths II
- [Win32SDK基本]开启UI系统风格
- 从客户端(textarea="<p>wewqe</p>")中检测到有潜在危险的 Request.QueryString 值。
- APUE(第十章)信号
- LA 2678 Subsequence
- Powerbuilder打开后就提示停止工作的处理方法
- UI 常用方法总结之--- UITableView
- leetcode:Implement Stack using Queues 与 Implement Queue using Stacks
- 自定义时间选择器
- JSP跳转中request共享问题
- Implement Stack using Queues
- Implement Stack using Queues
- NGUI之UICamera控制触摸,鼠标事件
- leetcode 225:Implement Stack using Queues
- UITableView
- Solving “Dynamic Web Module 3.0 requires Java 1.6 or newer” in Maven Projects
- STL - deque(双端队列)
- STL - deque(双端队列)