Rumah > Java > javaTutorial > Mengapa Saya Tidak Boleh Menggunakan `New CaseInsensitiveString('Poland')` Seperti yang Saya Lakukan Dengan `New String('bodoh')`?

Mengapa Saya Tidak Boleh Menggunakan `New CaseInsensitiveString('Poland')` Seperti yang Saya Lakukan Dengan `New String('bodoh')`?

DDD
Lepaskan: 2024-12-01 01:27:11
asal
740 orang telah melayarinya

Why Can't I Use `new CaseInsensitiveString(

Menjelaskan Penciptaan Rentetan Java: Meninjau Semula "String s = new String("bodoh")"

Di Java, penciptaan objek String merupakan topik yang sering menimbulkan persoalan. Satu soalan sedemikian berkaitan dengan perbezaan penggunaan antara String dan kelas lain apabila menetapkan literal.

Mengapakah "CaseInsensitiveString cis = new CaseInsensitiveString("Polish")" Betul?

Pernyataan "CaseInsensitiveString cis = new CaseInsensitiveString("Polish")" sememangnya betul kerana String ialah kelas unik di Jawa. Tingkah laku ini tidak berkenaan dengan kelas lain, seperti CaseInsensitiveString.

Memahami Gelagat Istimewa String:

Tidak seperti kelas lain, String mempunyai ciri-ciri tertentu yang wujud yang membenarkan gelagat unik ini :

  • String Literal secara automatik Dipelatih: Literal rentetan (cth., "Poland") secara automatik dimasukkan ke dalam kumpulan rentetan JVM. Ini bermakna hanya satu objek String dicipta untuk setiap literal unik, tidak kira berapa kali ia digunakan.
  • String Tidak Mempunyai "Salinan Pembina": String tidak mempunyai pembina standard yang menerima String sebagai hujah. Sebaliknya, ia mempunyai fungsi unik yang membenarkan pemulaan terus daripada literal.

Cara Membuat CaseInsensitiveString Berperilaku Seperti String:

Untuk menjadikan CaseInsensitiveString berkelakuan seperti String dalam ini mengambil kira, anda perlu mengatasi pembinanya dan melatih secara manual String yang diluluskan ke dalam kolam rentetan. Ini memerlukan akses kepada kumpulan rentetan dalaman JVM dan boleh mengakibatkan isu prestasi jika tidak dilakukan dengan berhati-hati.

Kesimpulan:

Ringkasnya, String ialah kelas unik dalam Java yang membenarkan pemulaan yang dipermudahkan dengan literal. Kelas lain, seperti CaseInsensitiveString, tidak mempunyai gelagat ini dan memerlukan pembinaan eksplisit menggunakan pembina yang betul.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan `New CaseInsensitiveString('Poland')` Seperti yang Saya Lakukan Dengan `New String('bodoh')`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan