Rumah >Java >javaTutorial >Tambahkan rentetan pada kolam pemalar rentetan menggunakan fungsi String.intern() java

Tambahkan rentetan pada kolam pemalar rentetan menggunakan fungsi String.intern() java

PHPz
PHPzasal
2023-07-24 08:48:151232semak imbas

Gunakan fungsi String.intern() Java untuk menambah rentetan pada kolam pemalar rentetan

Dalam pemprosesan rentetan Java, anda sering menghadapi masalah dengan perbandingan rentetan dan penggabungan rentetan, terutamanya apabila memproses sejumlah besar kes rentetan. Untuk meningkatkan prestasi program dan menjimatkan ruang memori, Java menyediakan kaedah untuk menambah rentetan pada kolam pemalar rentetan, iaitu, menggunakan fungsi String.intern().

Kolam pemalar rentetan di Jawa ialah kawasan memori khas yang digunakan untuk menyimpan objek rentetan yang kerap digunakan untuk digunakan semula. Di Jawa, kami biasanya menggunakan petikan berganda untuk terus mencipta objek rentetan, contohnya: "Hello". Objek rentetan yang dibuat dengan cara ini ditambah secara automatik ke kolam pemalar rentetan. Anda boleh menggunakan fungsi String.intern() untuk menambah objek rentetan secara manual pada kolam pemalar rentetan.

Contoh kod berikut menggambarkan cara menggunakan fungsi String.intern() untuk menambah rentetan pada kolam pemalar rentetan.

public class StringInternExample {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = new String("Hello");
        String str3 = new String("Hello").intern();
        String str4 = new StringBuilder("Hel").append("lo").toString();
        String str5 = new StringBuilder("Ja").append("va").toString().intern();

        System.out.println("str1 == str2: " + (str1 == str2)); // false
        System.out.println("str1 == str3: " + (str1 == str3)); // true
        System.out.println("str1 == str4: " + (str1 == str4)); // false
        System.out.println("str1 == str5: " + (str1 == str5)); // true
    }
}

Dalam contoh di atas, kami mencipta 5 objek rentetan Rentetan yang dibuat oleh str1 menggunakan petikan berganda akan ditambahkan secara automatik pada kolam pemalar rentetan, manakala rentetan yang dibuat oleh str2 menggunakan kata kunci baharu akan berada pada timbunan objek baru dalam. Kami menggunakan fungsi String.intern() untuk menambah str3 secara manual pada kolam pemalar rentetan supaya ia merujuk objek yang sama seperti str1. str4 ialah rentetan yang disambung oleh StringBuilder Objek baharu dicipta dalam timbunan, yang berbeza daripada objek yang dirujuk oleh str1. Akhir sekali, gunakan fungsi String.intern() untuk menambah str5 pada kolam pemalar rentetan, merujuk objek yang sama seperti str1.

Menjalankan program, kita boleh mencari output berikut:

str1 == str2: false
str1 == str3: true
str1 == str4: false
str1 == str5: true

Seperti yang dapat dilihat daripada output, selepas menggunakan fungsi String.intern() untuk menambah rentetan ke kolam pemalar rentetan, dengan membandingkan nilai rujukan bagi rentetan, anda boleh Tentukan sama ada dua rentetan adalah sama. Oleh kerana objek rentetan dalam kolam pemalar rentetan adalah unik, pertimbangan rujukan boleh mengelakkan perbandingan satu demi satu kandungan aksara, dengan itu meningkatkan prestasi program.

Perlu diingat bahawa selepas menggunakan fungsi String.intern() untuk menambah rentetan pada kolam pemalar rentetan, ia akan terlebih dahulu mencari sama ada terdapat rentetan dengan kandungan yang sama dalam kolam pemalar, dan jika ya, kembalikan objek dalam kolam malar Jika tidak, cipta objek baharu dalam kolam malar. Oleh itu, anda perlu memberi perhatian kepada penggunaan memori apabila menggunakan fungsi String.intern() dan elakkan daripada kerap menambah sebilangan besar objek rentetan ke kolam pemalar rentetan.

Ringkasnya, menggunakan fungsi String.intern() Java, anda boleh menambah rentetan pada kolam pemalar rentetan untuk menggunakan semula objek rentetan, dengan itu meningkatkan prestasi program dan menjimatkan ruang memori. Dalam pembangunan sebenar, fungsi String.intern() boleh digunakan secara fleksibel mengikut senario tertentu untuk mencapai kesan pengoptimuman program.

Atas ialah kandungan terperinci Tambahkan rentetan pada kolam pemalar rentetan menggunakan fungsi String.intern() java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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