StringBuilder vs. StringBuffer - 需要助记符

时间:2012-02-12 16:25:21

标签: java stringbuilder stringbuffer

我知道StringBufferStringBuilder之间的技术差异。

但如果我半年左右不使用它们,我只会忘记哪一个是同步的,哪一个不同步。我总是查找JavaDoc的第一句话。

那么:是否有某种容易记忆的助记符来区分它们? 如何记住差异?

2 个答案:

答案 0 :(得分:5)

<强> 1 StringBuffer是较早的实现。较旧的集合实现也已同步。

现在如何记住缓冲区比构建器更旧?想想,你如何调用能够包含可以转换为字符串的字符缓冲区的类?答案是StringBuffer。这就是Sun Microsystem的人们在最初开发这门课程时的想法。

然后他们想找到几乎相同的另一个名字,并记得它实际上实现了Builder模式。模式后来变得更加时尚,所以他们称之为新的类Builder。

我希望这会有所帮助。

<强> 2 其他助记符。比较工作: 缓冲 助洗剂

区别在于第3个字母是第一个字母“first”。这意味着缓冲区首先

第3 只需按字母顺序对这两个单词进行排序:Buffer,Builder。缓冲是第一,建设者是第二。因此缓冲区是同步的(参见我的故事的开头)

答案 1 :(得分:1)

我认为新的异步类具有更自然的名称。 List,一个定义明确的计算机科学概念,而不是VectorMap,一个明确定义的数学概念,而不是TableBuilder,工厂类的通用名称,而不是Buffer

对我有用!