gpt4 book ai didi

java - 我可以用这个引用作为 Java 中的参数更改一个方法中的引用吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:38 24 4
gpt4 key购买 nike

private static void changeString(String s) {
s = new String("new string");
}

public static void main(String[] args) {
String s = new String("old string");
changeString(s);
System.out.println(s); // expect "new string"
}

如何将 s 作为方法 changeString 的唯一参数 输出“新字符串”?

谢谢。

最佳答案

在 Java 中参数是按值传递的,对象参数传递对象的引用,这意味着您可以更改参数的引用,但不会更改您传递引用的对象。您有两种可能性,返回新对象(首选)或将引用传递给可以接收新引用的容器(集合、数组等)例如:

private static String changeStringAndReturn(String s) {
return new String("new string");
}
private static void changeStringInArray(String[] s) {
if (null != s && 0 < s.length) {
s[0] = new String("new string");
}
}

关于java - 我可以用这个引用作为 Java 中的参数更改一个方法中的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946589/

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