String s = "Hello"; ChangeString(s); String res = s; //res = "HelloWorld" ------------------------------------------- private void ChageString(String s){ s = s + "World"; }
我怎么能用Java做呢?可以在不添加其他类的情况下完成吗?
谢谢!PB
>字符串是不可变的.创建字符串后,您无法在以后更改该字符串对象.> Java使用pass-by-value,而不是pass-by-reference.在方法中为s分配新值时,它只修改本地s,而不是修改调用代码中的原始s.
要使方法有效,您需要更改界面.最简单的更改是返回一个新字符串:
private String changeString(String s){ return s + "World"; }
然后像这样称呼它:
String s = "Hello"; String res = changeString(s);
看到它在线工作:ideone