有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    这取决于你真正想要实现什么。由于参数filename实际上是对调用方创建的对象的引用,因此调用new X(filename)的任何人都有对filename数组的引用,可以进一步修改它

    1)如果您不介意超出您控制范围的代码可以更改数组,您可以只分配this.filename = filename

    2)如果你想确保没有其他代码会干扰你的数组,那么克隆就有帮助了。保持在中间,尽管新阵列仍将保持对原始阵列中相同对象的崇敬。因此,如果数组元素是可变的,则不会有多大帮助。例如,如果您使用了Foo[]而不是String[],那么拥有任何给定Foo的引用的人可以在您的控制之外对其进行修改

    3)如果仅仅因为数组有clone方法而决定使用单元素数组而不是String,那么你的方法不会给你带来任何好处