10 soalan paling kerap ditanya mengenai rentetan di Jawa disebut di sini
-
Bagaimana untuk membandingkan rentetan? Apa yang perlu digunakan: "
==
" atauequals()
?Ringkasnya, "
==
" membandingkan rujukan kepada rentetan, tetapiequals()
membandingkan nilai yang terkandung dalam rentetan tersebut. Jika anda tidak mahu menyemak bahawa dua rentetan adalah objek yang sama, maka anda harus menggunakanequals()
.Ia juga bagus untuk mengetahui konsep kolam rentetan .
-
Mengapakah
char[]
rentetan (String
) diutamakan untuk melindungi maklumat sensitif?Rentetan tidak boleh diubah . Ini bermakna apabila rentetan dibuat, ia tidak akan diubah suai sehingga pemungut sampah dijalankan. Dalam kes tatasusunan, agak jelas bahawa kita boleh menukar elemennya. Dengan cara ini, maklumat sensitif (seperti kata laluan) tidak akan disimpan dalam teks yang jelas di mana-mana dalam program.
-
Bolehkah kita lulus rentetan sebagai parameter apabila menggunakan pernyataan suis ?
Ya, bermula dari versi 7 JDK. Sebelum ini, dalam versi 6, ini tidak mungkin.
// java 7 only! switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break; }
-
Bagaimana untuk menukar rentetan kepada nilai integer?
int n = Integer.parseInt("10");
Begitu juga dengan jenis primitif lain di Jawa.
-
Bagaimana untuk memisahkan rentetan ke dalam garisan yang dibatasi ruang?
Cara paling mudah ialah menggunakan ungkapan biasa. "
\s
" bertindak sebagai pengganti untuk aksara ruang putih seperti "\t
", "\r
", "\n
".String[] strArray = aString.split("\\s+");
-
< Apakah kaedah ini sebenarnya
substring()
?Dalam JDK 6, kaedah
substring()
menunjukkan sebahagian daripada aksara daripada rentetan sedia ada, tetapi tidak mencipta contoh rentetan yang berasingan. Untuk mencipta rentetan baharu, yang diwakili sebagai tatasusunan aksara, anda boleh menambah beberapa rentetan kosong, contohnya, seperti ini:str.substring(m, n) + ""
Hasilnya ialah pelbagai aksara, yang merupakan rentetan baharu kami. Pendekatan ini kadangkala boleh mengurangkan masa pelaksanaan kod kerana pengumpul sampah boleh memusnahkan rentetan besar yang tidak digunakan dan hanya menyimpan subrentetan.
Dalam Oracle JDK 7, kaedah
substring()
mencipta tatasusunan aksara baharu tanpa menggunakan yang sedia ada. Anda juga boleh melihat gambar rajah yang mewakili perbezaan antara kaedah substring() dalam JDK 6 dan JDK 7 . -
String vs StringBuilder vs StringBuffer
String
vsStringBuilder
:StringBuilder
boleh ubah, yang bermaksud kita boleh menukar kandungannya selepas objek dicipta.StringBuilder
vsStringBuffer
:StringBuffer
disegerakkan, bermakna ia berfungsi dengan betul apabila digunakan daripada berbilang benang pada masa yang sama, tetapi lebih perlahan daripadaStringBuilder
. -
Bagaimana untuk mengulang baris beberapa kali?
Dalam Python, kita hanya boleh mendarab rentetan dengan nombor
n
dan kemudian ia akan berulang n kali. Di Java, kita boleh menggunakan kaedahrepeat()
daripadaStringUtils
kelas perpustakaan Apache Commons Lang.String str = "abcd"; String repeated = StringUtils.repeat(str,3); //abcdabcdabcd
-
Bagaimana untuk menukar rentetan kepada tarikh?
String str = "Sep 17, 2013"; Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str); System.out.println(date); //Tue Sep 17 00:00:00 EDT 2013
-
Bagaimana untuk mengira bilangan kemunculan watak tertentu dalam rentetan?
Gunakan kelas
StringUtils
daripada perpustakaan Apache Commons Lang.int n = StringUtils.countMatches("11112222", "1"); System.out.println(n);
GO TO FULL VERSION