返回局部变量作为参数
public String savedData(String Data, String m, String r, String s){
String data = "asdfasdf";
return Data;
}
我想返回局部变量data..我把data.this = data,它不起作用..嗯,这里有什么问题?
在这种情况下,您不能在参数中返回值。String
是不可变的,您只能更改引用。您不能更改传入的对象。
你可以这样做:
class StringHolder {
public String value;
}
StringHolder s = new StringHolder;
s.value = "x";
savedData(s);
并savedData
更改传递的对象:
public String savedData(StringHolder data,....) {
data.value = "new x";
不过,我真的会这样做(没有明确表示)。这不是特别地道,也许有点出乎意料。我认为你最好通过return
. 这是一个很好的做法 - 副作用使调试等方面的生活变得复杂,并使多线程更有问题(因为你的状态正在改变)
public String savedData(String Data, String m, String r, String s){
String data = "asdfasdf";
return data; // returning data not Data.
}
你在说上面的场景吗???。