Java'da String.intern() nedir?

Java Da String Intern Nedir



Java'da “ Stajyer() ” yöntemi, büyük miktarda dize veri depoluyorsa, aynı elemana sahip dizelerin aynı belleği paylaşmasını sağlamak için kullanılır. Bu yöntem, program için bellek alanını azaltmak için çok kullanışlıdır. Örneğin, çalışan adlarından oluşan çok sayıda listeniz varsa, burada ' kriko ” on kez görünür. “ Stajyer() ” yöntemi, “ kriko ” bellekte yalnızca tek bir yer kaplar.

Bu gönderi, Java'da String.intern() yönteminin kullanımını tartışacaktır.







Java'da String.intern() nedir?

Stajyer() Java'da ” yöntemi, referansı belirtilen dize nesnesine döndürmek için kullanılır. Ancak, eğer string nesnesi string havuzunda aynı içerik/veri ile mevcutsa, önceki string'in referansını döndürür. Ayrıca, dize havuzunda yoksa, yeni dizeyi ve onun referansını dize havuzuna ekler.



Sözdizimi

Belirtilen yöntemi kullanmak için aşağıda verilen sözdizimini takip etmeniz yeterlidir:



Sicim . Stajyer ( )

Bu örnekte, neden '' kullanmaya ihtiyaç duyulduğunu tartışacağız. Stajyer() Java'da dize ' kullanılarak bir yığında oluşturulduğunda ' yöntemi Sicim() ” yapıcı. İlk olarak, “ kullanılarak bir dize nesnesi oluşturulur. Sicim() ” yapıcı. Bundan sonra, dizenin verileri bu nesneye parametre olarak iletilir ve bir değişkende saklanır:





Sicim A = yeni Sicim ( 'Linuxhint'e hoş geldiniz.' ) ;

Aynı prosedür izlenerek başka bir string nesnesi oluşturulur:

Sicim B = yeni Sicim ( 'Linuxhint'e hoş geldiniz' ) ;

println()” yöntemini seçin ve “a=b ” bu yöntemin argümanı olarak. Her dizenin bellekte kendi alanı olduğu için sonucu yanlış olarak döndürür:



sistem . dışarı . yazdır ( A == B ) ;

Yukarıda belirtilen örneğin çıktısının false döndürdüğü fark edilebilir:

Örnek 1: String.intern() String Nesnelerini Kontrol Etme Yöntemi

Bu örnekte, ' kullanılarak iki dize nesnesi oluşturulur. Sicim() ” yapıcı ve yapıcıya argüman olarak bir dize iletilir. Ardından, “ Stajyer() ” yöntemi her dize için ve ilk dizeyi değişkende saklayın “ A ” ve ikincisi “ B ”. durumu kontrol et' bir=b ” ve “ println() ” sonucu görüntülemek için:

Sicim A = yeni Sicim ( 'Linuxhint'e hoş geldiniz' ) . Stajyer ( ) ;
Sicim B = yeni Sicim ( 'Linuxhint'e hoş geldiniz' ) . Stajyer ( ) ;
sistem . dışarı . yazdır ( A == B ) ;

Sonuç olarak, “ doğru ” değer çünkü “ Stajyer() ” yöntemi, dize verilerini depolamak için her dizenin aynı bellekte yer kaplamasını sağlar:

Örnek 2: String ve String Nesnesini Kontrol Etmek İçin String.intern() Yöntemi

Bu belirtilen örnekte, çeşitli diziler oluşturulur ve farklı değişkenlerde saklanır. Bunun için öncelikle “ string değeri ile bir değişken başlatılır. linux ”:

Sicim A = 'Linux' ;

Stajyer() ' dizesine erişerek yöntem ' A ” ve “ değişkeninde saklayın B ”:

Sicim B = A. Stajyer ( ) ;

“ yardımıyla yeni bir dizi tipi nesne oluşturulur. Sicim() ” oluşturucu ve geçer “ linux ” bu yapıcının parametresi olarak. Ardından, “ değişkeninde saklayın C ”:

Sicim C = yeni Sicim ( 'Linux' ) ;

Stajyer() ” değişkenine erişerek yöntem C ” ve sonucu “ D ”:

Sicim D = C. Stajyer ( ) ;

Şimdi oluşturulan bu dizileri birbiriyle karşılaştırın. Bu amaçla, “ println() ” yöntemini seçin ve aşağıdaki kod parçacığına göre parametreyi iletin:

sistem . dışarı . yazdır ( A == B ) ;
sistem . dışarı . yazdır ( A == C ) ;
sistem . dışarı . yazdır ( A == D ) ;
sistem . dışarı . yazdır ( B == C ) ;
sistem . dışarı . yazdır ( B == D ) ; sistem . dışarı . yazdır ( C == D ) ;

Karşılık gelen her ifadenin çıktısı konsolda yazdırılır. Çıktıyı her ifadeyle eşledik:

Java'daki string.intern() yöntemiyle ilgili her şey bu kadar.

Çözüm

String.intern() Java'daki ” yöntemi, belirtilen dize nesnesine yapılan başvuruyu döndürür. Ancak, eğer string nesnesi string havuzunda aynı içerik/veri ile mevcutsa, önceki string'in referansını döndürür. Bu gönderi, Java'da String.intern() yönteminin çeşitli kullanım durumlarını belirtti.