2013-05-21 2 views
3

Я новая форма для приглашенных C#, и я четко знаю, что «Java всегда передается по значению».Проходящие параметры в java по ссылке

Но передача по ссылке полезна, когда мы хотим получить несколько выходов из одного метода.

Как мы можем получить несколько выходов одного метода в java, как в C#.

Я знаю один способ сделать это - использовать общий класс-оболочку и получить значение из поля.

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

Есть ли другой способ реализовать этот эффект?

+0

К сожалению, нет. (15 символов) – MikeTheLiar

+0

В Java все проходит по значению. –

+0

Это, по крайней мере, общая идея для всех из них. – Keppil

ответ

3

Нет, Java не имеет параметров. Вы можете передать ссылку на объект, которую метод должен изменить, чтобы сделать вид, что он имеет параметры вне, но обычно это не лучший дизайн и не работает в других проблемах (многопоточность и изменяемое состояние для одного).

Лучший способ добиться метода, который возвращает несколько значений, - это вернуть метод, который содержит несколько значений.

+0

Okey, я согласен с вами. Я использую java, отличную от C#. Есть так много разных, и мне нужно адаптироваться к ним. –

1

Другой способ: имитировать вызов по ссылке в Java - передать одноэлементный массив в качестве параметра.

Смежные вопросы