3

我是 C# 的新人,我清楚地知道“Java 总是按值传递”。

但是当我们想从一种方法获得多个输出时,传递引用很有用。

我们如何从 java 中的一种方法获得多个输出,就像在 C# 中一样。

我知道这样做的一种方法——使用通用包装类,并从字段中获取值。

class Wrapper<T> {
    public Wrapper(T value) {
        Value = value;
    }
    public T Value;
}

有没有其他方法可以实现这种效果?

4

2 回答 2

3

不,Java 没有out参数。您可以传递该方法要修改的对象引用,以假装它没有参数,但这通常不是最好的设计,并且会遇到其他问题(多线程和可变状态)。

实现返回多个值的方法的最佳方法是让该方法返回包含多个值的类型。

于 2013-05-21T14:21:23.297 回答
1

在 Java 中模拟引用调用的另一种方法是将单元素数组作为参数传递。

于 2013-05-21T15:00:16.237 回答