JavaRush /Blog Java /Random-MS /Kelas StringBuilder dalam Java 8 dengan contoh praktikal

Kelas StringBuilder dalam Java 8 dengan contoh praktikal

Diterbitkan dalam kumpulan
Kelas Stringmencipta rentetan tidak berubah. Ini bermakna jika anda menggunakan sebarang operasi pada rentetan atau operasi pada rentetan, hasilnya akan menjadi rentetan baharu. Jika rentetan baharu ini tidak diberikan kepada mana-mana pembolehubah, hasil operasi akan hilang. Sehubungan itu, operasi pada rentetan tersebut semestinya membawa kepada penciptaan rentetan baharu. Dan ini bermakna memori tambahan dan kos masa pemproses. Jika terdapat banyak operasi pada rentetan, maka selalunya lebih cekap menggunakan rentetan dinamik, yang dilaksanakan oleh kelas StringBuilder.
Kelas StringBuilder dalam Java 8 dengan contoh praktikal - 1
Pertimbangkan kod di bawah:
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
Kod di atas menangani masalah yang sama. Apabila kita menambah 100 subrentetan baharu pada rentetan yang diberikan. Contoh pertama menggunakan kelas untuk tujuan ini String, yang tidak begitu cekap kerana setiap penambahan subrentetan membawa kepada pembinaan objek baharu String. Dan ini adalah pembaziran memori dan masa tambahan. Dalam contoh kedua, masalah ini diselesaikan menggunakan kelas StringBuilder. Kami mencipta objek kelas terlebih dahulu StringBuilder, dan kemudian menggunakan kaedah appendyang kami bentuk rentetan yang kami perlukan dengan menukar kandungan objek yang dicipta StringBuilder, tetapi tanpa mencipta semula objek itu sendiri.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION