と の技術的な違いを知っていStringBuffer
ますStringBuilder
。
でも、半年くらい使わないと、どれが同期してどれが同期してないか忘れてしまいます。私は常にJavaDocの最初の文を検索しています。
だから:それらを区別するための覚えやすいニーモニックはありますか?どのように違いを覚えていますか?
と の技術的な違いを知っていStringBuffer
ますStringBuilder
。
でも、半年くらい使わないと、どれが同期してどれが同期してないか忘れてしまいます。私は常にJavaDocの最初の文を検索しています。
だから:それらを区別するための覚えやすいニーモニックはありますか?どのように違いを覚えていますか?
1 StringBuffer は古い実装です。コレクションの古い実装も同期されました。
バッファがビルダーよりも古いことをどのように覚えていますか? 文字列に変換できる文字のバッファを格納できるクラスをどのように呼び出すか考えてみてください。答えはStringBuffer
です。これは、Sun Microsystem の担当者が最初にこのクラスを開発したときに考えたことです。
次に、ほぼ同じものの別の名前を見つけたいと考え、それが実際にBuilder
パターンを実装していることを思い出しました。パターンは後でより流行になったので、新しいクラス Builder と呼ばれました。
これが役立つことを願っています。
2 その他のニーモニック。作品の比較: Buffer Builder
違いは、「first」という単語の最初の文字である 3 番目の文字にあります。バッファが最初だったことを意味します
3 次の 2 つの単語をアルファベット順に並べ替えるだけです: Buffer, Builder. バッファが最初で、ビルダーが 2 番目です。したがって、バッファは同期されます(私の話の冒頭を参照してください)
新しい非同期クラスには、より自然な名前が付いていると思います。List
の代わりに、明確に定義されたコンピューター科学の概念ですVector
。Map
の代わりに、明確に定義された数学的概念ですTable
。Builder
ではなく、ファクトリ クラスの一般名ですBuffer
。
わたしにはできる!