Bom dia, gostaria de saber qual a função do seguinte trecho: “Object… parametros” na função abaixo:
protected void save(String insertSql, Object... parametros){
}
Bom dia, gostaria de saber qual a função do seguinte trecho: “Object… parametros” na função abaixo:
protected void save(String insertSql, Object... parametros){
}
Bom dia, gostaria de saber qual a função do seguinte trecho: "Object... parametros" na função abaixo:protected void save(String insertSql, Object... parametros){ }
É o Varargs ( http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html ).
Você pode chamar o metodo da seguinte forma:
save("SELECT ALGUMA_COISA FROM ALGUMA_TABELA", "Uma string aqui", "outra string aqui", "isso não acaba nunca");
e dentro do metodo você pegaria cada um dos objetos assim:
System.out.println(parametros[0]);
System.out.println(parametros[1]);
System.out.println(parametros[2]);
Observação: a primeira String que você passou não vai estar no array "parametros", ou seja, a String que está em parametros[0] é "Uma string aqui" e não "SELECT ALGUMA_COISA FROM ALGUMA_TABELA".
Perceba que o método main usa Varargs :)
Em resumo:
Você pode mandar vários objetos como parâmetro para o método e o metodo entenderia que todos eles são um array de n posições onde n é a quantidade de objetos que você passou.
Então, desta forma eu devo passar 1 parâmetro do tipo STRING obrigatoriamente e mais quantos eu desejar de qualquer tipo, correto ?
Porém se eu quisesse que fosse 1 parâmetro do tipo STRING e mais quantos desejar do tipo int seria assim:
protected void save(String insertSql, int... parametros){
}
correto ?
Obrigado !
Agora que sua dúvida foi respondida, por favor acrescente um [Resolvido] no título do tópico.