Автор оригинала: Pankaj Kumar.
Некоторое время назад меня спросили, как скопировать строку на java. Поскольку мы знаем, что строка является неизменяемым объектом, поэтому мы можем просто назначить одну строку другой для ее копирования. Если исходное строковое значение изменится, оно не изменит значение новой строки из-за неизменяемости.
Копия строки Java
Вот короткая программа копирования строк java, чтобы показать это поведение.
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" } }
Обратите внимание, что мы можем выполнить прямое присвоение одной переменной другой для любого неизменяемого объекта. Это не ограничивается только строковыми объектами.
Однако, если вы хотите скопировать изменяемый объект в другую переменную, вам следует выполнить глубокое копирование .
Альтернативные методы копирования строк Java
Существует также несколько функций, которые можно использовать для копирования строки. Однако их нецелесообразно использовать, когда вы можете безопасно копировать строку с помощью оператора присваивания.
Используя
String.valueOf()
методИспользование метода
String.copyValueOf ()
– полный перебор, но вы можете это сделать.