"Hai, Amigo!"

"Tetapi, Bilaabo, awak sudah bertanya khabar."

"Betul ke? Saya masih suka memulakan setiap pelajaran dengan frasa itu."

"Hari ini kita akan mempelajari kelas String secara mendalam."

"Tetapi, saya sudah tahu segala-galanya mengenainya. Saya juga tahu bahawa kelas String tidak boleh diubah."

"Kelas String mempunyai 46 kaedah. Berapa ramai daripada mereka yang anda tahu?"

"Tidak lebih daripada sepuluh. Sebenarnya, mungkin lebih kurang 5 maks."

"Kalau begitu dengarlah."

"Pencipta Java menyedari bahawa kebanyakan rentetan dalam atur cara tidak bertujuan untuk diubah suai, tetapi kadangkala ia boleh diubah suai juga. Ia sangat menjengkelkan apabila anda mencipta Rentetan, menyimpan sesuatu yang penting di dalamnya, menyerahkannya kepada kaedah orang lain, dan ia akan berubah . Untuk mengelakkan perkara ini berlaku, mereka memutuskan untuk mencipta Rentetan boleh ubah dan tidak berubah."

"Kelas String adalah untuk rentetan tidak berubah dan kelas StringBuilder adalah untuk rentetan boleh ubah. Objek kelas ini mudah ditukar kepada jenis lain. Dalam kebanyakan kes, pembangun Java hanya memerlukan String, yang membuktikan bahawa pencipta Java adalah betul."

"Jadi jika saya memerlukan String, saya menggunakan kelas String. Dan jika saya memerlukan String boleh ubah, maka saya menggunakan kelas StringBuilder ?"

"Ya. Sebenarnya, terdapat satu lagi kelas yang dipanggil StringBuffer. Ia adalah salinan StringBuilder, kecuali semua kaedahnya diisytiharkan sebagai synchronized , supaya objek boleh diakses daripada urutan program yang berbeza."

"Dan bagaimana pula dengan contoh ini? Adakah rentetannya tidak ditukar di sini?"

String s = "cat";
s = s + "-" + s;

"Tidak. Terdapat dua objek String di sini: «kucing» dan «kucing-kucing». Yang kedua dicipta menggunakan yang pertama, tetapi objek pertama tidak berubah. Pada hakikatnya, perkara-perkara yang jauh lebih menarik di sini. Berikut ialah kod pengkompil menjana apabila ia menyusun contoh anda:"

String s = "cat";
StrinsBuilder s2 = new StringBuilder(s);
s2.append("-");
s2.append(s);
s = s2.toString();

"Jadi, StringBuilder hampir selalu digunakan untuk mencipta Strings baharu, tetapi kadangkala pengkompil hanya melakukan semua kerja untuk anda. Tetapi versi anda lebih mudah, bukan?"

"Ya, sungguh mengagumkan bahawa Java mempunyai pengkompil yang begitu canggih."

"Nah, sekarang mari kita lihat kaedah kelas String:"

1) Bagaimanakah cara saya mencari panjang String?

" Kaedah panjang mengembalikan panjang String (bilangan aksara di dalamnya)."

Kaedah Contoh)
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

2) Bagaimanakah cara saya mendapatkan watak daripada String?

" Kaedah charAt mengembalikan aksara daripada String mengikut indeksnya. Indeks aksara bermula pada 0.

Kaedah Contoh)
char charAt(int index)
String s = "Good news, everyone!";
char n = s.charAt(5);
char n = "Good news, everyone!".charAt(5);

3) Bagaimanakah cara saya mendapatkan aksara daripada String?

Bagaimanakah saya boleh mendapatkan aksara daripada String?

Kaedah Contoh)
char[]toCharArray ()
String s = "Good news, everyone!";
for(char c: s.toCharArray())
{
System.out.println(c);
}

4) Bagaimanakah saya membandingkan Strings?

"Kaedah equals menyemak sama ada Strings sepadan, dan kaedah equalsIgnoreCase menyemak untuk melihat sama ada Strings sepadan apabila kes diabaikan.

Kaedah Kaedah
boolean equals(Object o)
String s = "cat";
boolean test1 = s.equals("cat");//true
boolean test2 = s.equals("Cat");//false
boolean test3 = s.equals("c"+"a"+"t");//true
boolean equalsIgnoreCase(String str)
String s = "cat";
boolean test1 = s.equalsIgnoreCase("cat");//true
boolean test2 = s.equalsIgnoreCase("Cat");//true
boolean test3 = s.equalsIgnoreCase("cAT");//true

5) Bagaimanakah cara saya membuat semua huruf dalam String huruf besar atau huruf kecil?

" Kaedah toUpperCase mengembalikan salinan String dengan semua huruf besar."

" Kaedah toLowerCase mengembalikan salinan String dengan semua huruf kecil."

Kaedah Contoh)
String toUpperCase()
String s = " Good news, everyone!  ";
s = s.toUpperCase();

Keputusan:

s == "GOOD NEWS, EVERYONE!";
String toLowerCase()
String s = "Good news, everyone!";
s = s.toLowerCase();

Keputusan:

s == "good news, everyone!";

6) Bagaimanakah cara saya mengalih keluar ruang pada permulaan dan penghujung String?

"Kaedah trim mengembalikan salinan String tanpa aksara ruang kosong pada permulaan dan akhir."

Kaedah Contoh)
String trim()
String s = "   Good news, everyone!   ";
s = s.trim();

Keputusan:

s == "Good news, everyone!";