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.
-
Usando o método
String.valueOf()
String strCopy = String.valueOf(str); String strCopy1 = String.valueOf(str.toCharArray(), 0, str.length()); //overkill*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