Lista de argumentos (parâmetros) de comprimento variável em métodos no Java 5
Dica publicada em Java / Miscelânea
Lista de argumentos (parâmetros) de comprimento variável em métodos no Java 5
Bem, um dos novos recursos do Java 5 é poder utilizar uma lista de argumentos de comprimento variável nos parâmetros de um método. Caso haja um método que às vezes necessite de 2 parâmetros do mesmo tipo, às vezes 5, às vezes 1000, etc, é possível criar um único método para contornar este fato. Por exemplo o método seguinte:
public void metodoExemplo( int parametro1, int... arrayDeParametros ) {
for ( int i; i < arrayDeParametros.length; i++)
if ( parametro1 != i )
System.out.println( "" + arrayDeParametros[i] );
}
for ( int i; i < arrayDeParametros.length; i++)
if ( parametro1 != i )
System.out.println( "" + arrayDeParametros[i] );
}
O código do método acima mostra como utilizar este recurso. Na lista de argumentos do método, o tipo seguido de 3 pontos (...) indica ao Java que este parâmetro é um array que pode conter um comprimento variável. Ou seja, você pode chamar este método assim:
metodoExemplo( 2, 1, 2, 3 );
metodoExemplo( 1, 4, 3 );
metodoExemplo( 3, 1, 2, 3, 4, 5 );
metodoExemplo( 1, 4, 3 );
metodoExemplo( 3, 1, 2, 3, 4, 5 );
Todas as chamadas serão aceitas e o tratamento dentro do método deve ser para um array dos últimos argumentos. Existe uma restrição, a lista de parâmetros de comprimento variável deve ser o último tipo de argumento do método, ou seja, não se pode indicar ao método que ele recebe uma lista de comprimento variável e depois um outro inteiro, a lista de comprimento variável deve sempre ser o último parâmetro do método.
Outras dicas deste autor
Coleção de paletas para sK1, Inkscape, Krita, Gimp e outros softwares artísticos
Um atributo do HTML5 que você já deveria estar usando
Instrução for( ; ; ) aprimorada no Java 1.5
Leitura recomendada
Formatação numérica em sistema operacional Ubuntu não brasileiro
Comentários
O que eu fazia era passar os parâmetros dentro de um array de Objects.