StringBuffer 已过时?

编程入门 行业动态 更新时间:2024-10-18 12:33:39
本文介绍了StringBuffer 已过时?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在Effective Java"一书中,Josh Bloch 说

In the book "Effective Java", Josh Bloch says that

StringBuffer 在很大程度上已经过时,应该由非同步实现 'StringBuilder'

StringBuffer is largely obsolete and should be replaced by the non-synchronized implementation 'StringBuilder'

.

但根据我的经验,我仍然看到 StringBuffer 类的广泛使用.为什么 StringBuffer 类现在已经过时了,为什么 StringBuilder 应该优于 StringBuffer 除了由于非同步而提高性能?

But in my experience, I've still seen widespread use of the StringBuffer class. Why is the StringBuffer class now obsolete and why should StringBuilder be preferred over StringBuffer except for the increased performance due to non-synchronization?

推荐答案

Java 1.5 上的新代码 已经过时了,通常应该使用 StringBuilder - 它非常 很少有人真的需要以线程安全的方式构建字符串,那么为什么要支付同步成本呢?

It's obsolete in that new code on Java 1.5 should generally use StringBuilder - it's very rare that you really need to build strings in a thread-safe manner, so why pay the synchronization cost?

我怀疑您看到的使用 StringBuffer 的代码大多属于以下几类:

I suspect code that you see using StringBuffer mostly falls into buckets of:

  • 在 Java 1.5 之前编写
  • 编写以保持与旧版 JDK 的兼容性
  • 由不了解 StringBuilder 的人撰写
  • 由不了解 StringBuilder 的工具自动生成
  • Written before Java 1.5
  • Written to maintain compatibility with older JDKs
  • Written by people who don't know about StringBuilder
  • Autogenerated by tools which don't know about StringBuilder

更多推荐

StringBuffer 已过时?

本文发布于:2023-07-17 03:22:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1128932.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:StringBuffer

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!