这个问题在这里已经有答案了:
如何在java中通过引用传递varargs(6个答案)
上个月关门了。
我尝试在java中通过将包含值的大小为1的数组传递给相应的方法来模拟pass-by-ref。
资料来源:
public static void test(String... a) {
a[0] = new String("bar");
}
public static void main(String[] args) throws Exception {
String a = "foo";
test(a);
System.out.println(a);
}
值仍然是“foo”-为什么?我使用jdk版本15.0.1。
2条答案
按热度按时间yvfmudvl1#
首先是
new String
毫无意义。别那么做。其次,为了通过引用传递数组,必须传递数组。比如,
输出
酒吧
w8rqjzmb2#
这
实际上与此相同:
因此“a”不变。