2

StringBuffer我知道和之间的技术差异StringBuilder

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

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

4

2 回答 2

5

1 StringBuffer 是较旧的实现。集合的旧实现也被同步。

现在如何记住缓冲区比 builder 更老?想一想,您将如何调用能够包含可以转换为字符串的字符缓冲区的类?答案是StringBuffer。这就是 Sun Microsystem 的人最初开发这个类时的想法。

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

我希望这有帮助。

2 其他助记符。比较工作:缓冲区生成器

不同之处在于第三个字母是单词“first”的第一个字母。这意味着缓冲区是第一个

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

于 2012-02-12T16:33:57.000 回答
1

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

这个对我有用!

于 2012-02-12T16:33:40.707 回答