Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in die Zuweisung von Variablen vom Typ String in Java_Grundkenntnisse

WBOY
Freigeben: 2016-05-16 15:08:18
Original
1756 Leute haben es durchsucht

Führen Sie den folgenden Code aus. Was ist das Ergebnis?

package com.test;

public class Example {
  
  String str = new String("good");
  char[] ch = { 'a', 'b', 'c' };

  public static void main(String[] args) {
    Example ex = new Example();
    ex.change(ex.str, ex.ch);
    System.out.println(ex.str);
    System.out.println(ex.ch);
  }

  public void change(String str, char ch[]) {
    str = "test ok";
    ch[0] = 'g';
  }
  
}
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

good
gbc
Nach dem Login kopieren

Kommentar:

String in Java ist unveränderlich, das heißt, nach der Initialisierung ist der Inhalt, auf den seine Referenz verweist, unveränderlich (Hinweis: Der Inhalt ist unveränderlich).

Mit anderen Worten: Unter der Annahme, dass der Code String str = „aa“; enthält, ändert die zweite Anweisung nicht den Inhalt der ursprünglichen Speicheradresse von „aa“, sondern öffnet eine andere Wird zum Speichern von „bb“ verwendet. Da „aa“, auf das str ursprünglich zeigte, jetzt nicht mehr erreichbar ist, wird es von jvm automatisch über GC recycelt.

Beim Aufruf einer Methode werden der String-Typ und das Array als Referenz übergeben. Im obigen Code wird str als Parameter an die Methode „change(String str, char ch[])“ übergeben durch str in der Klasse, aber die Anweisung str = „test ok“; lässt den Methodenparameter str auf die neu zugewiesene Adresse zeigen, die „test ok“ speichert, während der ursprüngliche str immer noch auf „good“ zeigt. Bei Arrays zeigt in der Change-Methode der Methodenparameter ch auf das Array, auf das ch in der Klasse zeigt, und die Anweisung ch[0] = 'g' ändert den Inhalt des Arrays, auf das ch in der Klasse < zeigt 🎜>

Schauen wir uns noch einmal den folgenden Code an. Was ist das Ergebnis seiner Operation?


package com.test;

public class Example {
  
  String str = new String("good");
  char[] ch = { 'a', 'b', 'c' };

  public static void main(String[] args) {
    Example ex = new Example();
    ex.change(ex.str, ex.ch);
    System.out.println(ex.str);
    System.out.println(ex.ch);
  }

  public void change(String str, char ch[]) {
    str = str.toUpperCase();
    ch = new char[]{ 'm', 'n' };
  }
  
}
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

good
abc
Nach dem Login kopieren
Ist dieses Ergebnis angesichts der vorherigen Erklärung zu erwarten? !

Die obige Einführung in die Zuweisung von String-Typ-Variablen in Java ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie Script Home unterstützen.

Verwandte Etiketten:
Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!