Een tijdje geleden werd mij gevraagd hoe je een String in Java kunt kopiëren. Zoals we weten, is String een onveranderlijk object, dus we kunnen gewoon één string aan een andere toewijzen om deze te kopiëren. Als de oorspronkelijke stringwaarde verandert, heeft dit geen invloed op de waarde van de nieuwe string vanwege de onveranderlijkheid.
Java String Kopiëren
Hier is een kort Java-programma voor het kopiëren van een string om dit gedrag te laten zien.
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"
}
}
Merk op dat we directe toewijzing kunnen doen van de ene variabele naar de andere voor elk onveranderlijk object. Dit is niet beperkt tot alleen String-objecten. Als je echter een veranderlijk object naar een andere variabele wilt kopiëren, moet je een diepe kopie uitvoeren.
Alternatieve Methoden voor Java String Kopiëren
Er zijn ook enkele functies die kunnen worden gebruikt om een string te kopiëren. Het is echter niet praktisch om ze te gebruiken wanneer je veilig een string kunt kopiëren met de toekenningsoperator.
-
Met de methode
String.valueOf()
gebruikenString strCopy = String.valueOf(str); String strCopy1 = String.valueOf(str.toCharArray(), 0, str.length()); // overdreven*2
-
Met de methode
String.copyValueOf()
gebruiken, totaal overdreven maar het kan.String strCopy = String.copyValueOf(str.toCharArray()); String strCopy1 = String.copyValueOf(str.toCharArray(), 0, str.length()); // overdreven*2
Als je een deel van een string naar een andere string wilt kopiëren, dan zijn de methoden valueOf
en copyValueOf
nuttig.
Source:
https://www.digitalocean.com/community/tutorials/java-string-copy