Java String intern ()

Методът Java String intern () връща канонично представяне на низовия обект.

Синтаксисът на метода низ intern()е:

 string.intern()

Тук низът е обект на Stringкласа.

intern () Параметри

В intern()метода не взема никакви параметри.

intern () Върната стойност

  • връща канонично представяне на низа

Какво е Java String Interning?

String интернирането гарантира, че всички низове с еднакво съдържание използват една и съща памет.

Да предположим, че ние тези два низа:

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

Тъй като str1и двете str2имат едно и също съдържание, и двата низа ще споделят една и съща памет. Java автоматично интернира низовите литерали.

Ако обаче създадете низове с помощта на newключовата дума, тези низове няма да споделят една и съща памет. Например,

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

Както можете да видите от този пример, и str1, и str2 имат едно и също съдържание. Те обаче не са равни, защото не споделят една и съща памет.

В този случай можете ръчно да използвате intern()метода, така че една и съща памет да се използва за низове със същото съдържание.

Пример: 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 ) )

Както можете да видите, и str1, и str2 имат едно и също съдържание, но първоначално не са равни.

След това използваме intern()метода, така че str1 и str2 да използват един и същ пул памет. След като използваме intern(), str1 и str2 са равни.

Интересни статии...