Varargs e ambiguidade
Java para Iniciantes (Oracle)
Posted on September 3, 2024
Erros inesperados podem ocorrer na sobrecarga de métodos que utilizam argumentos de tamanho variável.
Esses erros geralmente envolvem ambiguidade, onde uma chamada ao método pode ser ambígua devido à sobrecarga.
O programa a seguir ilustra um exemplo de chamada ambígua a um método varargs sobrecarregado.
O programa mostra a sobrecarga correta do método vaTest(), mas não será compilado devido à chamada ambígua vaTest();.
A chamada vaTest(); pode ser interpretada como vaTest(int...) ou vaTest(boolean...), resultando em ambiguidade.
static void vaTest(int... v) { // ...
static void vaTest(int n, int... v) { // ...
A chamada vaTest(1) pode ser interpretada como vaTest(int...) ou vaTest(int, int...), tornando-a ambígua.
Em casos de ambiguidade, pode ser necessário usar nomes de métodos diferentes ou revisar o código para encontrar uma solução mais clara.
Posted on September 3, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.