이 방법 서명의 줄임표(...)는 무엇인가?
앱 엔진 문서에서 줄임표란?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 메서드는 몇 개의 인수를 사용할지 모르기 때문에 이 방법을 사용한다.
그것들은 오직 논쟁의 최종적인 위치로만 사용될 수 있다.
varargs
Java 1.5에 추가됨
이 방법은 유형의 변수 수("vargs")를 수용한다는 것을 의미한다.JID
. 그 방법 안에서recipientJids
제시된다.
이것은 여러분이 둘 이상의 논쟁을 자연적인 방법으로 선택적으로 처리할 수 있는 방법을 가지고 있는 경우에 유용하며, 여러분이 한 가지, 두 가지, 세 가지 매개 변수를 같은 방법으로 통과할 수 있는 통화들을 즉석에서 배열하는 추악함 없이 쓸 수 있게 해준다.
또한 다음과 같은 관용어도 가능하게 한다.sprintf
C에서; 참조String.format()
예를 들면.
참조URL: https://stackoverflow.com/questions/2367398/what-is-the-ellipsis-for-in-this-method-signature
'programing' 카테고리의 다른 글
Mac OSX에서 버전 전환을 허용하는 Java 설치 방법 (0) | 2022.05.24 |
---|---|
Vue.js: 하위 요소에 CSS 클래스 사용 (0) | 2022.05.24 |
Java : 비교 대상 대 비교 대상 (0) | 2022.05.23 |
자동 스크롤 기능 vue-수신 가능 사용 방법 (0) | 2022.05.23 |
Axios 요청 - 쿼리된 데이터 대신 Getter setter 메서드를 제공 (0) | 2022.05.23 |