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