Java String Kopiëren

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.

  1. Met de methode String.valueOf() gebruiken

    String strCopy = String.valueOf(str);
    
    String strCopy1 = String.valueOf(str.toCharArray(), 0, str.length()); // overdreven*2
    
  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