Diterjemahkan dari: 10 pertanyaan teratas Java Strings
Sederhananya, "==" menguji apakah referensi dari dua string sama, dan equal() menguji apakah nilai kedua string tersebut sama. Kecuali Anda ingin memeriksa apakah dua string merupakan objek yang sama, lebih baik menggunakan sama dengan().
Akan lebih baik jika Anda mengetahui mekanisme persistensi string.
String tidak dapat diubah, artinya setelah dibuat, string akan tetap berada di sana hingga dibersihkan oleh pemulung. Dengan array, Anda dapat mengubah elemen-elemennya secara eksplisit. Dengan cara ini, informasi sensitif keamanan (seperti kata sandi) tidak akan muncul di tempat lain di sistem.
Untuk Java7 jawabannya adalah ya. Mulai dari JDK7, kita dapat menggunakan String sebagai kondisi pernyataan switch. Sebelum JDK6, kita tidak bisa menggunakan String sebagai kondisi pernyataan switch.
// hanya Java 7!switch (str.toLowerCase()) { case "a": nilai = 1; case "b": nilai = 2;
int n = Integer.parseInt("10");
Sederhananya, ini sering digunakan sehingga terkadang diabaikan.
Kita cukup menggunakan ekspresi reguler untuk menguraikannya. "/s" mewakili karakter spasi, seperti " ", "/t", "/r", "/n".
String[] strArray = aString.split("//s+");
Di JDK6, metode substring() menyediakan jendela ke dalam array karakter yang mewakili string yang ada, tetapi tidak membuat string baru. Untuk membuat string baru yang diwakili oleh array karakter baru, tambahkan string kosong sebagai berikut:
str.substring(m, n) + ""
Ini menciptakan array karakter baru yang mewakili string baru. Pendekatan di atas terkadang membuat kode lebih cepat karena pengumpul sampah akan mengumpulkan string besar yang tidak terpakai dan hanya menyimpan substring.
Di Oracle JDK 7, substring() membuat array karakter baru tanpa menggunakan array yang sudah ada. Diagram dalam Metode substring() di JDK 6 dan JDK 7 menggambarkan perbedaan antara substring() di JDK 6 dan JDK 7.
String vs StringBuilder: StringBuilder dapat diubah, artinya seseorang dapat mengubah nilainya setelah pembuatan.
StringBuilder vs StringBuffer: StringBuffer bersifat sinkron, artinya thread-safe, tetapi lebih lambat dibandingkan StringBuilder.
Di Python, kita bisa mengulang sebuah string dengan mengalikannya dengan angka. Di Java, kita dapat mengulang string melalui metode repeat() kelas StringUtils dalam paket Apache Commons Lang.
String str = "abcd";String diulang = StringUtils.repeat(str,3);//abcdabcdabcd
String str = "17 Sep 2013";Tanggal tanggal = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);System.out.println(tanggal);//Selasa 17 Sep 00:00 :00 EDT 2013
Gunakan kelas StringUtils dari paket Apache Commons Lang.
int n = StringUtils.countMatches("11112222", "1");System.out.println(n);
Pertanyaan tambahan: Bagaimana cara mendeteksi bahwa suatu string hanya berisi huruf besar
Diterjemahkan dari: 10 pertanyaan teratas Java Strings