Ketika saya menggunakan Java sebelumnya, saya tahu bahwa ada kelas yang disebut StringBuffer untuk string dengan jahitan yang lebih panjang. Setelah beralih ke C#, ada juga jenis fungsi yang disebut StringBuilder.
Kemudian, ketika saya pindah kembali ke Java, saya menemukan bahwa Java juga memiliki StringBuilder, jadi saya ingin tahu mengapa saya meluncurkan StringBuilder setelah StringBuffer.
Ternyata Java's StringBuilder (sama dengan C#) adalah keamanan non -utra, dan sebelumnya StringBuffer memiliki atribut keamanan utas tertentu. Tentu saja, peluncuran StringBuilder terutama karena tidak perlu digunakan di beberapa utas.
Kasus umum StringBuilder (atau StringBuffer) adalah ::
Public String ToString () {return new StringBuilder () .Appnd ("Name:" + Name) .Appnd ("Foo:" + Foo) .Appnd ("Bar:" + Bar) .Tring ();}
Dalam hal ini, StringBuilder bukan anggota kelas.
Akibatnya, pengenalan StringBuilder membawa peningkatan kinerja yang hebat, dan tidak ada masalah keamanan ...