Estou em dúvida quanto as duas implementações abaixo:
(Programação genérica)
public static <T> int busca( T [] array, T alvo ) {
for( int pos = 0; pos < array.length - 1; pos++ ){
if( array[pos] == alvo ){
return pos;
}
}
return -1;
}
(Polimorfismo usando a classe Object)
public static int busca( Object[] array, Object alvo ) {
for( int pos = 0; pos < array.length - 1; pos++ ){
if( array[pos] == alvo ){
return pos;
}
}
return -1;
}
Uma é uma melhor prática que a outra? Tanto faz uma ou outra? Ou há casos em que uma é mais apropriada que a outra?