Wann ist String#intern() für String-Literale zu verwenden?
String#intern() gibt den vorhandenen String aus dem String-Pool zurück, falls vorhanden vorhanden oder fügt es hinzu und gibt die hinzugefügte Referenz zurück. Während String-Literale automatisch interniert werden, kann es dennoch erforderlich sein, intern() in bestimmten Szenarien manuell aufzurufen.
Automatische Internierung von String-Literalen
Im bereitgestellten Beispielcode :
String s1 = "Rakesh"; String s2 = "Rakesh"; String s3 = "Rakesh".intern();
Sowohl s1 als auch s3 repräsentieren denselben String, da die Internierung implizit auf String-Literale angewendet wird Java. Aus diesem Grund werden beide Zeilen, s1 == s2 und s1 == s3, als wahr ausgewertet.
Anwendungsfall für intern()
Die Verwendung von intern() ist relevant beim Umgang mit Strings, die keine String-Literale sind. Zum Beispiel:
String s1 = "Rakesh"; String s2 = "Rakesh"; String s3 = new String("Rakesh"); String s4 = new String("Rakesh").intern();
In diesem Beispiel stellen s1, s2 und s4 aufgrund der automatischen Internierung oder des expliziten Aufrufs von intern() denselben String im Konstantenpool dar. Allerdings verweist s3 auf eine neue String-Instanz, die sich nicht im Konstantenpool befindet.
Durch den expliziten Aufruf von intern() auf s4 wird effektiv überprüft, ob „Rakesh“ bereits im String-Pool vorhanden ist. Wenn nicht, wird es hinzugefügt und die Referenz des hinzugefügten Strings zurückgegeben. Dies optimiert die String-Nutzung, indem doppelte String-Objekte im Speicher reduziert und String-Gleichheitsvergleiche gefördert werden.
Das obige ist der detaillierte Inhalt vonWann sollten Sie „String#intern()' in Java verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),