相关疑难解决方法(0)

传递参考与传递值之间有什么区别?

有什么区别

  1. 通过引用传递的参数
  2. 一个由值传递的参数?

你能给我一些例子吗?

language-agnostic pass-by-reference pass-by-value

539
推荐指数
11
解决办法
65万
查看次数

Java有像C#的ref和out关键字吗?

类似于以下内容:

参考示例:

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)

c# java

106
推荐指数
5
解决办法
10万
查看次数

如何在Java中使用输出参数?

有人可以给我一些在函数中使用输出参数的示例代码吗?我试过谷歌它,但只是在功能中找到它.我想在另一个函数中使用此输出值.

我正在开发的代码旨在在Android中运行.

java parameters android

59
推荐指数
4
解决办法
13万
查看次数

更改方法中的变量值,Java

我有一个关于在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;

我不明白为什么一件事改变而另一件事没改变?有人可以帮我解释一下.

java scope

14
推荐指数
1
解决办法
7万
查看次数

我可以在Java中使用此引用作为参数更改一个方法内的引用吗?

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" ?

谢谢.

java string reference

9
推荐指数
2
解决办法
4723
查看次数