有一次我被问到如何在 Java 中复制 String. 因为我们知道 String是一个 不变的对象,所以我们只能将一个字符串分配给另一个字符串来复制它。
Java String 副本
以下是一個簡短的 java String 複製程式來顯示這種行為。
1package com.journaldev.string;
2
3public class JavaStringCopy {
4
5 public static void main(String args[]) {
6 String str = "abc";
7
8 String strCopy = str;
9
10 str = "def";
11 System.out.println(strCopy); // prints "abc"
12
13 }
14}
请注意,我们可以对任何不可变的对象直接分配一个变量到另一个。 它不限于仅限于 String 对象。 但是,如果你想将可变对象复制到另一个变量,你应该执行 deep copy。
Java String Copy 替代方法
还有一些函数可以用于复制字符串,但是当您可以使用分配操作器安全地复制字符串时,使用它们是不切实际的。
- 使用 String.valueOf() 方法 `` String strCopy = String.valueOf(str);
String strCopy1 = String.valueOf
,0 str.length(); //overkill*2
2. 使用 String.copyValueOf() 方法,一个总的杀死,但你可以这样做
String stropy = String.copyValueOf(str.copyValueOf(str.Array1_MBR1_
如果要将字符串部分复制到另一个字符串,则valueOf
和copyValueOf
方法是有用的。