programing

이 방법 서명의 줄임표(...)는 무엇인가?

prostudy 2022. 5. 23. 21:37
반응형

이 방법 서명의 줄임표(...)는 무엇인가?

앱 엔진 문서에서 줄임표란?JID...이 방법의 서명에 대해?

public MessageBuilder withRecipientJids(JID... recipientJids)

저 세 개의 점의 기능은 무엇인가?

저것들은 자바 바라그 입니다.특정 유형의 개체(이 경우 해당 개체들은 JID 유형임)를 통과하도록 허용한다.

예를 들어 다음과 같은 함수 호출이 유효할 수 있다.

MessageBuilder msgBuilder; //There should probably be a call to a constructor here ;)
MessageBuilder msgBuilder2;
msgBuilder.withRecipientJids(jid1, jid2);
msgBuilder2.withRecipientJids(jid1, jid2, jid78_a, someOtherJid);

자세한 내용은 http://java.sun.com/j2se/1.5.0/docs/guide/language/varargs.html를 참조하십시오.

메소드 의 줄임표 또는 바그(vargs)를 사용하는 방법은 배열과 같다.

public void PrintWithEllipsis(String...setOfStrings) {
    for (String s : setOfStrings)
        System.out.println(s);
}

이 방법은 다음과 같이 부를 수 있다.

obj.PrintWithEllipsis(); // prints nothing
obj.PrintWithEllipsis("first"); // prints "first"
obj.PrintWithEllipsis("first", "second"); // prints "first\nsecond"

내부PrintWithEllipsis, 의 유형setOfStrings스트링의 배열이다.컴파일러의 작업을 저장하고 어레이를 통과하십시오.

String[] argsVar = {"first", "second"};
obj.PrintWithEllipsis(argsVar);

vargs 방법의 경우 시퀀스 매개 변수는 동일한 유형의 배열로 처리된다.따라서 두 서명이 이 예에서와 같이 한 서명은 시퀀스를 선언하고 다른 서명은 배열만 선언하는 경우:

void process(String[] s){}
void process(String...s){}

컴파일 시간 오류가 발생한다.

출처: Java Programming Language 사양(기술 용어:variable arity parameter통용어보다varargs.

3점(...) 표기법은 실제로 수학에서 차용한 것으로, "...등"이라는 뜻이다.

자바에서 사용하는 용어의 약칭은varargs, 즉, 메서드 호출에 임의의 수의 인수가 추가될 수 있다는 것을 의미한다.유일한 한계는...varargs메서드 서명의 끝에 있어야 하며, 메서드당 하나만 있을 수 있다.

그것들은 임의의 수의 인수를 받는 방법을 만드는 데 사용된다.

예를 들어 PrintStream.printf 메서드는 몇 개의 인수를 사용할지 모르기 때문에 이 방법을 사용한다.

그것들은 오직 논쟁의 최종적인 위치로만 사용될 수 있다.

varargsJava 1.5에 추가됨

이 방법은 유형의 변수 수("vargs")를 수용한다는 것을 의미한다.JID. 그 방법 안에서recipientJids제시된다.

이것은 여러분이 둘 이상의 논쟁을 자연적인 방법으로 선택적으로 처리할 수 있는 방법을 가지고 있는 경우에 유용하며, 여러분이 한 가지, 두 가지, 세 가지 매개 변수를 같은 방법으로 통과할 수 있는 통화들을 즉석에서 배열하는 추악함 없이 쓸 수 있게 해준다.

또한 다음과 같은 관용어도 가능하게 한다.sprintfC에서; 참조String.format()예를 들면.

참조URL: https://stackoverflow.com/questions/2367398/what-is-the-ellipsis-for-in-this-method-signature

반응형