Kopieren Sie einen String in Java

Rashmi Patidar 12 Oktober 2023
Kopieren Sie einen String in Java

In der Sprache Java ist ein String ein Datentyp, der eine Folge von Zeichen speichert. Ein String ist eine Wrapper-Klasse, die Methoden wie compare(), replace() und substring() bereitstellt. Die Objekte werden im heap-Speicher abgelegt, wenn ein Objekt instanziiert wird.

Kopieren Sie einen String in Java

Unten ist der Codeblock, der Ihnen zeigt, wie Sie eine Zeichenkette in Java kopieren.

public class StringCopy {
  public static void main(String[] args) {
    String first = "First String";
    System.out.println("First initially = " + first);
    String second = first;
    System.out.println("String copy in second = " + second);
    first = "Updated string";
    System.out.println("First after update = " + first);

    String newCopy = String.copyValueOf(first.toCharArray());
    System.out.println("Copy using copyValueOf() = " + newCopy);

    String copyString = new String(first);
    System.out.println("Copy using new = " + copyString);
  }
}

Im obigen Programm wird im ersten Teil der Operation ein String initialisiert. Die Darstellung String first = "First String" erzeugt eine Instanz von First String im Speicher; zusätzlich wird diese neue String-Adresse zuerst der Variablen zugewiesen. Dieser Wert wird mit der Methode println() ausgegeben.

Nun speichert die Zeile String second = first die erste Referenz in zweiter Instanz und gibt den Kopierwert in einer weiteren Zeile aus. Als Ergebnis enthält die Variable second die first Referenz. Dann ändert der first = "Updated string" die Referenz des ersten vom vorhandenen Wert auf einen anderen String im Heap-Speicher.

Java-Strings sind unveränderlich. Das bedeutet, dass ein erzeugter String im Heap-Speicher vorhanden ist. Und wenn der ersten Variablen ein anderer Wert zugewiesen wird, wird dieser nicht überschrieben. Stattdessen verweist die Variable jetzt auf einen anderen String aus dem Heap-Speicher. Die Verweise im Heap-Speicher werden im Heap gespeichert, es sei denn, der Garbage Collector wird aktiv. Die Funktion leert die Variable aus dem Konstantenspeicherpool, wenn sie von keiner Variablen referenziert wird.

Eine andere Möglichkeit, einen String zu kopieren, verwendet die Methode copyValueOf. Es handelt sich um eine statische Factory-Methode, die ein Zeichenarray als Eingabe verwendet. Die Instanz wird zunächst mit der Funktion toCharArray in ein Zeichenarray umgewandelt. Die letzte String-Instanz wird von einer newCopy-Variable referenziert und in einer weiteren Zeile ausgegeben.

Die dritte Möglichkeit, einen String zu kopieren, besteht darin, das Schlüsselwort new zu verwenden. Die Methode erstellt zwei Instanzen im Speicher: Die erste enthält den Wert und die andere Variable copyString speichert die Referenz der first Variable.

Unten ist der Codeblock, der aus dem obigen Programm resultiert.

Ausgabe:

First initially = First String
String copy in second = First String
First after update = Updated string
Copy using copyValueOf() = Updated string
Copy using new = Updated string
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Verwandter Artikel - Java String