gpt4 book ai didi

java - 修改 String/Integer 对象并检查它是否影响以该对象作为参数的类对象

转载 作者:行者123 更新时间:2023-11-30 04:07:14 30 4
gpt4 key购买 nike

public static void main(String[] args)
{
String name = "john";
StringTest obj = new StringTest(name);
name = "peter";
System.out.println(obj.name);
}

}

class StringTest{
String name;
StringTest(String name)
{
this.name = name;
}

}

现在,由于字符串名称已从“john”重新分配为“peter”,我希望它打印 peter,但它打印 john。字符串不可变是否会导致在重新分配时创建新对象,或者对此的正确解释是什么?

此外,当我使用 Integer 对象尝试此操作时,行为是相同的!请任何人解释一下这种行为的原因

最佳答案

Java 使用按值传递,这意味着您传递name 的值,而不是引用。
创建 StringTest 实例后更改 name 的值不会以任何方式影响您的 StringTest

关于java - 修改 String/Integer 对象并检查它是否影响以该对象作为参数的类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20452391/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com