-2

메소드에서 참조로 인수를 전달하기 위해 C#에 'out'키워드가 있음을 알고 있습니다. Java에서 'out'키워드와 동일한 것이 존재합니까 (참조로 인수를 전달하기 위해)?참조로 인수 전달 Java

+1

자바로 변환하는 것은 항상 * * 값에 의해 전달된다. * 참조로 전달 * 자바에서 아무것도 아니다. 자세히 : [Java가 "참조로 전달되는지"아니면 "값으로 전달 되는가"입니까?] (http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by - 값? rq = 1) –

+0

java에는 이러한 기능이 없습니다. –

+6

[Java가 "참조로 전달"인가 "값으로 전달"인가?] (http://stackoverflow.com/questions/40480/is-java-pass-by-reference-orpass) -by-value) – SomeJavaGuy

답변

0

자바에서 해당하는 것은 참조를 보유 할 수 있도록 객체를 사용하여 반환 할 수있는 것입니다. 이것은 상대적으로 추악하고 최고의 피할 수 있지만 하나의 번역을 위해 하나를 원한다면 비슷한 것을 할 수 있습니다.

ReturnValue method(out int arg, out String x); 

int[] argRef = { arg }; 
String[] xRef = { x }; 
// call to 
ReturnValue method(int[] argRef, String[] xRef); 

arg = argRef[0]; 
x = xRef[0]; 
+1

"추악한"이란 공학 용어는 아니지만 그럼에도 불구하고 왜 그렇게 부르겠습니까? 나는 감정에 의문을 제기해서는 안되지만, 나는 궁금해한다. 홀더 객체는 유비쿼터스하고 유용합니다. 어떤 이들은 자바의 복잡하지 않은 접근 방식이 멋지다고 생각할 수도 있습니다. 아니면 당신이 "못생긴"이라고 생각한 적절한 홀더 객체가 아니라 배열을 소지자로 보여 주었습니까? 나는 배열의 사용이 홀더 유형의 사용보다 덜 관용적이며 직접적이라는 것에 동의한다. –

0

아니요. 알고있는 한 Java에는 이와 같은 것이 존재하지 않습니다.

그러나 매개 변수로 사용할 수있는 정수와 같은 대부분의 유형에 사용할 수있는 래퍼 클래스가 있습니다. 그런 다음 함께 작업하는 객체가 있습니다.