2

と の技術的な違いを知っていStringBufferますStringBuilder

でも、半年くらい使わないと、どれが同期してどれが同期してないか忘れてしまいます。私は常にJavaDocの最初の文を検索しています。

だから:それらを区別するための覚えやすいニーモニックはありますか?どのように違いを覚えていますか?

4

2 に答える 2

5

1 StringBuffer は古い実装です。コレクションの古い実装も同期されました。

バッファがビルダーよりも古いことをどのように覚えていますか? 文字列に変換できる文字のバッファを格納できるクラスをどのように呼び出すか考えてみてください。答えはStringBufferです。これは、Sun Microsystem の担当者が最初にこのクラスを開発したときに考えたことです。

次に、ほぼ同じものの別の名前を見つけたいと考え、それが実際にBuilderパターンを実装していることを思い出しました。パターンは後でより流行になったので、新しいクラス Builder と呼ばれました。

これが役立つことを願っています。

2 その他のニーモニック。作品の比較: Buffer Builder

違いは、「first」という単語の最初の文字である 3 番目の文字にあります。バッファが最初だったことを意味します

3 次の 2 つの単語をアルファベット順に並べ替えるだけです: Buffer, Builder. バッファが最初で、ビルダーが 2 番目です。したがって、バッファは同期されます(私の話の冒頭を参照してください)

于 2012-02-12T16:33:57.000 に答える
1

新しい非同期クラスには、より自然な名前が付いていると思います。Listの代わりに、明確に定義されたコンピューター科学の概念ですVectorMapの代わりに、明確に定義された数学的概念ですTableBuilderではなく、ファクトリ クラスの一般名ですBuffer

わたしにはできる!

于 2012-02-12T16:33:40.707 に答える