Selon String # intern () , la intern
méthode est censée renvoyer la chaîne à partir du pool de chaînes si la chaîne est trouvée dans le pool de chaînes, sinon un nouvel objet de chaîne sera ajouté dans le pool de chaînes et la référence de cette chaîne est renvoyée.
Alors j'ai essayé ceci:
String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "Rakesh".intern();
if ( s1 == s2 ){
System.out.println("s1 and s2 are same"); // 1.
}
if ( s1 == s3 ){
System.out.println("s1 and s3 are same" ); // 2.
}
Je m'attendais à ce que ce s1 and s3 are same
soit imprimé car s3 est interné, et s1 and s2 are same
ne sera pas imprimé. Mais le résultat est: les deux lignes sont imprimées. Cela signifie que, par défaut, les constantes String sont internées. Mais si c'est le cas, pourquoi avons-nous besoin de la intern
méthode? En d'autres termes, quand devrions-nous utiliser cette méthode?