Java karakterlánc-gyakornok ()

A Java String intern () metódus a string objektum kanonikus ábrázolását adja vissza.

A string intern()metódus szintaxisa :

 string.intern()

Itt a karakterlánc az Stringosztály objektuma .

gyakornok () Paraméterek

A intern()módszer nem vesz fel paramétereket.

gyakornok () visszatérési érték

  • a karakterlánc kanonikus ábrázolását adja vissza

Mi az a Java karakterlánc internálás?

A String internálás biztosítja, hogy minden azonos tartalmú karakterlánc ugyanazt a memóriát használja.

Tegyük fel, hogy ez a két húr:

 String str1 = "xyz"; String str2 = "xyz";

Mivel mind str1és str2azonos tartalommal, mindkét húrok ugyanazt a memóriát. A Java automatikusan internálja a karakterláncokat.

Ha azonban karakterláncokat hoz létre a newkulcsszó használatával, akkor ezek a karakterláncok nem osztják meg ugyanazt a memóriát. Például,

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )

Amint ebből a példából láthatja, az str1 és az str2 egyaránt tartalommal rendelkezik. Azonban nem egyenlőek, mert nem ugyanaz a memória.

Ebben az esetben manuálisan is használhatja a intern()módszert, hogy ugyanazt a memóriát használja az azonos tartalmú karakterláncokhoz.

Példa: Java String intern ()

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); // str1 and str2 doesn't share the same memory pool System.out.println(str1 == str2); // false // using the intern() method // now both str1 and str2 share the same memory pool str1 = str1.intern(); str2 = str2.intern(); System.out.println(str1 == str2); // true ) )

Mint látható, az str1 és az str2 tartalma is azonos, de kezdetben nem egyenlőek.

Ezután azt a intern()módszert használjuk , hogy az str1 és az str2 ugyanazt a memóriakészletet használja. Miután használjuk intern(), str1 és str2 egyenlő.

érdekes cikkek...