java - 数组上的克隆方法是深拷贝还是浅拷贝?

标签 java

我不确定以下是否会导致深拷贝或浅拷贝?

public void viewImages(final String[] instancesFilename) {

    String[] instances = (String[])instancesFilename.clone();    
}

有没有一种简单快速的方法来深度复制字符串数组?

最佳答案

Java 中的字符串是不可变的(不能改变它们的值)。因此,在复制字符串时,深拷贝和浅拷贝之间没有可检测到的差异。

进一步引用:复制会很浅,但这应该不是问题,因为字符串是不可变的。

还有一个有趣的事实:无法使用 clone 方法克隆字符串,因此如果您尝试使用 clone 方法深度复制字符串,您将得到 CloneNotSupportedException。

关于java - 数组上的克隆方法是深拷贝还是浅拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125390/

相关文章:

java - 所有时区时间都在哪里维护?

java - 如何在java中添加超过3个面板的GUI

java - Guice 注入(inject)器使用的最佳实践

java - 获取类路径上文件的绝对路径

java - 字符串数组抛出错误-Java

java - sipdroid - 在继续时不显示另一个来电

java - 致命异常 : main [Android developing]

java - 为什么 Java ImageIO 会展平 JPEG 颜色

java - gson 不会反序列化数组

java - 是否可以在 javafx 对话框中使用特定的类?