바라그: 가변 수량의 인수
애플리케이션에 따라 일부 메소드에는 가변 개수의 인수가 필요할 수 있습니다.
인터넷 연결을 열고 사용자 이름, 비밀번호, 파일 이름, 프로토콜 등과 같은 매개변수를 수신할 수 있는 방법을 예로 들 수 있습니다.
일부 정보가 전달되지 않으면 메소드는 해당 매개변수에 대한 기본값을 사용할 수 있습니다.
가변 길이 인수를 사용하는 메서드에서는 필요한 인수만 전달할 수 있습니다.
JDK 5 이전에는 이러한 메서드를 오버로딩이나 배열로 처리했는데 이는 제한적이고 서투른 접근 방식이었습니다.
JDK 5부터 varargs 기능이 도입되어 가변 개수의 인수를 사용하는 메서드를 더 쉽게 만들 수 있습니다.
바라그는 "가변 길이 인수"의 약어입니다.
varargs를 사용하는 메서드를 가변 arity 메서드 또는 간단히 varargs 메서드라고 합니다.
varargs 메소드의 매개변수 목록은 가변 길이이므로 가변 개수의 인수를 수신할 수 있습니다.
varargs의 기본 측면
가변 길이 인수 목록은 세 개의 점(...)으로 지정됩니다.
가변 개수의 인수를 받는 메서드를 만들려면 메서드 선언에 이 세 가지 사항을 사용하세요.
이 기능을 구현하는 방법을 보여주는 vaTest() 메서드를 예로 들 수 있습니다.
v는 int ... v로 선언됩니다.
... 구문은 vaTest()가 0개 이상의 인수로 호출될 수 있음을 컴파일러에 알려줍니다.
매개변수 v는 암시적으로 int[] 유형의 배열로 선언됩니다.
vaTest() 메서드 내에서 공통 배열 구문을 사용하여 v에 액세스합니다.
완전한 프로그램은 vaTest()의 사용법을 보여줄 수 있습니다.
vaTest() 내에서 매개변수 v는 실제로 배열이기 때문에 배열로 처리됩니다.
... 구문은 가변 개수의 인수가 사용되어 v 배열에 저장됨을 컴파일러에 알려줍니다.
main() 메서드에서 vaTest()는 없음을 포함하여 다양한 수의 인수로 호출됩니다.
인수가 없으면 배열 v의 크기는 0입니다.
메서드는 가변 길이 매개변수와 함께 공통 매개변수를 가질 수 있지만, varargs는 마지막으로 선언되어야 합니다.
허용되는 선언의 예: int doIt(int a, int b, double c, int ... vals).
이 경우 첫 번째 인수는 공통 매개변수로 전달되고 나머지는 vals로 전달됩니다.
vaTest() 메서드는 varargs 외에 공통 인수를 사용하도록 다시 작성할 수 있습니다.
varargs 매개변수는 메소드 매개변수 목록의 마지막 매개변수여야 합니다.
varargs 매개변수 뒤에는 공통 매개변수를 선언할 수 없습니다. 이로 인해 오류가 발생합니다.
메서드에는 하나의 varargs 매개변수만 선언할 수 있습니다.
int ... vals 다음에 double ... morevals가 오는 경우와 같이 동일한 메서드에서 둘 이상의 varargs 매개변수를 선언하려고 하면 유효하지 않으며 오류가 발생합니다.
위 내용은 바라그의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!