有什么区别
你能给我一些例子吗?
类似于以下内容:
参考示例:
void changeString(ref String str) {
str = "def";
}
void main() {
String abc = "abc";
changeString(ref abc);
System.out.println(abc); //prints "def"
}
Run Code Online (Sandbox Code Playgroud)
例子:
void changeString(out String str) {
str = "def";
}
void main() {
String abc;
changeString(out abc);
System.out.println(abc); //prints "def"
}
Run Code Online (Sandbox Code Playgroud) 有人可以给我一些在函数中使用输出参数的示例代码吗?我试过谷歌它,但只是在功能中找到它.我想在另一个函数中使用此输出值.
我正在开发的代码旨在在Android中运行.
我有一个关于在Java中更改方法中的变量值的问题.
这是我的代码:
public class Test {
public static void funk(int a, int[] b) {
b[0] = b[0] * 2;
a = b[0] + 5;
}
public static void main(String[] args) {
int bird = 10;
int[] tiger = {7};
Test.funk(bird, tiger);
}
}
Run Code Online (Sandbox Code Playgroud)
执行该方法后Test.funk(bird, tiger),bird的值不会更改 - 它保留值10,即使在funk()方法中我们更改了值a = b[0] + 5;
另一方面,数组中元素的值会发生变化,因为我们有语句 b[0] = b[0] * 2;
我不明白为什么一件事改变而另一件事没改变?有人可以帮我解释一下.
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"
}
Run Code Online (Sandbox Code Playgroud)
我怎么能用s作为方法changeString 的唯一参数来输出"new string" ?
谢谢.