Heim > Java > javaLernprogramm > Hauptteil

Warum ist die String-Klasse in Java unveränderlich oder endgültig?

WBOY
Freigeben: 2023-08-20 22:05:09
nach vorne
1011 Leute haben es durchsucht

Warum ist die String-Klasse in Java unveränderlich oder endgültig?

Die Zeichenfolge ist unveränderlich, was bedeutet, dass wir das Objekt selbst nicht ändern können, aber wir können den Verweis auf das Objekt ändern. Die Zeichenfolge ist endgültig, damit andere sie nicht erweitern und ihre Unveränderlichkeit zerstören können könnten leicht geändert werden.

  • Synchronisation und Parallelität Durch die automatische Unveränderlichkeit von Strings werden diese Thread-sicher und dadurch die Synchronisierungsprobleme gelöst.
  • Caching Wenn der Compiler unsere String-Objekte optimiert, scheint es, dass, wenn zwei Objekte denselben Wert haben (a ="test" und b="test") und daher benötigen wir nur ein String-Objekt (für a und b zeigen diese beiden auf dasselbe Objekt).
  • Klassenladen String wird als Argumente für die Klasse verwendet Laden. Wenn sie veränderlich ist, könnte dies dazu führen, dass die falsche Klasse geladen wird (da veränderbare Objekte ihren Zustand ändern).
  • Beispiel:
    public class StringImmutableDemo {
       public static void main(String[] args) {
          String st1 = "Tutorials";
          String st2 = "Point";
          System.out.println("The hascode of st1 = " + st1.hashCode());
          System.out.println("The hascode of st2 = " + st2.hashCode());
          st1 = st1 + st2;
          System.out.println("The Hashcode after st1 is changed : "+ st1.hashCode());
       }
    }
    Nach dem Login kopieren
    输出:
  • The hascode of st1 = -594386763
    The hascode of st2 = 77292912
    The Hashcode after st1 is changed : 962735579
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum ist die String-Klasse in Java unveränderlich oder endgültig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage