가변 길이 인수를 사용하는 메서드를 오버로드할 때 예기치 않은 오류가 발생할 수 있습니다.
이러한 오류에는 종종 오버로드로 인해 메서드 호출이 모호해질 수 있는 모호성이 포함됩니다.
다음 프로그램은 오버로드된 varargs 메서드에 대한 모호한 호출의 예를 보여줍니다.
프로그램은 vaTest() 메소드의 올바른 오버로드를 표시하지만 모호한 vaTest() 호출로 인해 컴파일되지 않습니다.
vaTest() 호출; vaTest(int...) 또는 vaTest(boolean...)으로 해석될 수 있으므로 모호성이 발생합니다.
static void vaTest(int... v) { // ...
static void vaTest(int n, int... v) { // ...
vaTest(1) 호출은 vaTest(int...) 또는 vaTest(int, int...)로 해석될 수 있어 모호합니다.
모호한 경우에는 다른 메소드 이름을 사용하거나 코드를 검토하여 더 명확한 해결 방법을 찾아야 할 수도 있습니다.
위 내용은 Varargs와 모호성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!