Vor einiger Zeit wurde ich gefragt, wie man in Java einen String kopiert. Da wir wissen, dass `String` ein `unveränderliches` Objekt ist, können wir einfach einen String einem anderen zuweisen, um ihn zu kopieren. Wenn sich der Wert des Original-Strings ändert, wird dies aufgrund der Unveränderlichkeit nicht den Wert des neuen Strings ändern. `
Java String Copy
Hier ist ein kurzes Java-Programm zur String-Kopie, um dieses Verhalten zu zeigen.
package com.journaldev.string;
public class JavaStringCopy {
public static void main(String args[]) {
String str = "abc";
String strCopy = str;
str = "def";
System.out.println(strCopy); // prints "abc"
}
}
Beachten Sie, dass wir eine direkte Zuweisung einer Variable zu einer anderen für jedes unveränderliche Objekt durchführen können. Dies ist nicht nur auf String-Objekte beschränkt. Wenn Sie jedoch ein veränderliches Objekt in eine andere Variable kopieren möchten, sollten Sie eine `tiefe Kopie` durchführen.
Alternative Methoden für das Kopieren von Java-Strings
Es gibt auch einige Funktionen, die zum Kopieren von Strings verwendet werden können. Es ist jedoch nicht praktisch, sie zu verwenden, wenn Sie den String sicher durch den Zuweisungsoperator kopieren können.
-
Verwendung der Methode
String.valueOf()
String strCopy = String.valueOf(str); String strCopy1 = String.valueOf(str.toCharArray(), 0, str.length()); //overkill*2
-
Verwendung der Methode
String.copyValueOf()
, eine totale Überkill, aber du kannst es tun.String strCopy = String.copyValueOf(str.toCharArray()); String strCopy1 = String.copyValueOf(str.toCharArray(), 0, str.length()); //overkill*2
Wenn Sie einen Teil eines Strings in einen anderen String kopieren möchten, sind die Methoden valueOf
und copyValueOf
nützlich.
Source:
https://www.digitalocean.com/community/tutorials/java-string-copy