Perbezaan antara objek rentetan dan literal rentetan, ditakrifkan dengan Rentetan("abc") dan "abc" baharu, masing-masing, terletak pada mekanisme latihan dan penciptaan objek mereka.
Tersurat rentetan menikmati kelebihan berpotensi sebagai pelatih, satu proses di mana rentetan disimpan dalam kumpulan rentetan yang ditemui sebelum ini. Ini memberikan peningkatan kecekapan memandangkan rentetan itu boleh diakses melalui rujukan dan bukannya dibuat baharu.
String a = "abc"; String b = "abc"; System.out.println(a == b); // true
Di sini, a dan b merujuk kepada rentetan intern yang sama, diwakili oleh benar.
Sebaliknya, objek rentetan yang dibuat dengan String() baharu dijadikan sebagai entiti yang berasingan, masing-masing mempunyai keunikan tersendiri rujukan.
String c = new String("abc"); String d = new String("abc"); System.out.println(c == d); // false
Dalam kes ini, == mengembalikan palsu kerana c dan d merujuk kepada objek rentetan yang berbeza, walaupun ia mengandungi jujukan aksara yang sama.
Untuk kod optimum, literal rentetan ialah pilihan pilihan. Ia lebih mudah dibaca dan membenarkan pengkompil mengoptimumkan kod anda dengan menggunakan latihan, jika boleh.
Atas ialah kandungan terperinci String Objects vs. String Literals: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!