Java String Copy

Algum tempo atrás, me perguntaram como copiar uma String em Java. Como sabemos que `String` é um objeto `imutável`, podemos simplesmente atribuir uma string a outra para copiá-la. Se o valor da string original mudar, não afetará o valor da nova String devido à imutabilidade. `

Java String Copy

Aqui está um pequeno programa em Java para copiar String e demonstrar esse comportamento. `

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"

	}
}

Observe que podemos realizar a atribuição direta de uma variável para outra para qualquer objeto imutável. Isso não se limita apenas a objetos String. No entanto, se você quiser copiar um objeto mutável para outra variável, deve realizar uma `cópia profunda.

Métodos Alternativos de Cópia de String em Java

Também existem algumas funções que podem ser usadas para copiar uma string. No entanto, não é prático usá-las quando você pode copiar a string com segurança usando o operador de atribuição.

  1. Usando o método String.valueOf()

    String strCopy = String.valueOf(str);
    
    String strCopy1 = String.valueOf(str.toCharArray(), 0, str.length()); //overkill*2
    
  2. Usando o método String.copyValueOf(), um exagero total, mas você pode fazer isso.

    String strCopy = String.copyValueOf(str.toCharArray());
    
    String strCopy1 = String.copyValueOf(str.toCharArray(), 0, str.length()); //exagero*2 
    

Se deseja copiar parte de uma string para outra, então os métodos valueOf e copyValueOf são úteis.

Source:
https://www.digitalocean.com/community/tutorials/java-string-copy