Que viagem. Brother trabalhe com “qualquer” Collection no lugar de array. Daí é só ir adcionando. Se você ainda quiser insistir em retornar um array é usar o método toArray().
Opa… se precisa disso como um array no retorno… segue a linha de usar a List e tenta dar return com
(Veiculo[])listVeiculos.toArray()
ou tenta criar antes do while um objeto array (Veiculo v[] = new Veiculo()) com o tamanho dele (se o objeto rsVeiculo tiver como pegar o tamanho/quantidade de registros)…
qtd=0;
Veiculo v[tamanho] = new Veiculo();
while (rsVeiculo.next()){
v[qtd].setMotorista(rsVeiculo.getString("MOTORISTA"));
v[qtd].setPlaca(rsVeiculo.getString("PLACA"));
qtd++;
}
Consegui resolver o problema com as dicas postadas nesse tópico, desculpem a demora em dar um retorno, mas estou postando abaixo como ficou o código, caso, no futuro, alguém tenha a mesma dúvida.
public Veiculo[] listaVeiculos() {
...
List<Veiculo> veiculos = null;
try {
rsVeiculo = md.executaQuery("SELECT MOTORISTA,PLACA FROM TBL_VEICULO");
...
veiculos = new ArrayList<Veiculo>();
while (rsVeiculo.next()) {
Veiculo v = new Veiculo();
v.setMotorista(rsVeiculo.getString("MOTORISTA"));
v.setPlaca(rsVeiculo.getString("PLACA"));
veiculos.add(v);
}
} catch (Exception e) {
...
} finally {
...
}
return veiculos.toArray(new Veiculo[veiculos.size()]);
}