class Internalizacja { public static void main(String[] args) { String a = "tekst"; String b = new StringBuffer("te").append("kst").toString().intern(); if (a == b) { System.out.println("" + a.hashCode() + " i " + b.hashCode() + " - ten sam obiekt");

Ruby W języku Ruby internalizacja stosowana jest w odniesieniu podstawowego typu danych zwanego symbolem. Poniższy fragment kodu pokazuje różnicę między zwykłymi łańcuchami tekstowymi a łańcuchami internalizowanymi:

puts "Przypisanie tekstu" a = "tekst" b = "tekst" puts 'adres a = ' + a.object_id.to_s puts 'adres b = ' + b.object_id.to_s

puts "Przypisanie symbolu" a = :tekst b = :tekst puts 'adres a = ' + a.object_id.to_s puts 'adres b = ' + b.object_id.to_s

Po jego wykonaniu otrzymamy na przykład:

Przypisanie tekstu adres a = 82110 adres b = 82150 Przypisanie symbolu adres a = 101378 adres b = 101378

W przypadku użycia internalizowanych łańcuchów (w języku Ruby nazywanych symbolami) obiekty a i b zajmują ten sam obszar w pamięci.