Quote Originariamente inviata da Jamie04 Visualizza il messaggio
Perché non usare Vector?
Non ho nessuna dimestichezza con le liste :-|
Innanzitutto Vector a partire da Java 1.2 implementa List ... quindi di fatto è una "lista". Comunque Vector è la "vecchia" collezione legacy, che oltretutto è synchronized e non sempre serve una collezione che sia tale perché magari, ad esempio, è sempre acceduta nel contesto dello stesso thread.

Infine se usi Vector (ma anche es. ArrayList) stai codificando verso una implementazione, mentre invece (sempre se non ci sono ragioni ben valide) sarebbe meglio codificare verso una astrazione, ovvero nel caso delle collezioni verso una interfaccia come List.
In questo modo hai più flessibilità nel cambiare in futuro il tipo di collezione che viene realmente istanziato e restituito dal metodo. All'inizio il "findAllMenus" potrebbe creare un ArrayList ma se in futuro volessi passare a LinkedList puoi farlo, senza che il resto all'esterno debba cambiare. Se volessi un giorno restituire un List "immutabile" puoi farlo, grazie a Collections.unmodifiableList.
Insomma, hai più possibilità di cambiare .... mentre se usi Vector hai abbastanza le mani legate o comunque diventa più complicato poter cambiare "idea".

Quote Originariamente inviata da Jamie04 Visualizza il messaggio
Comunque continuando il discorso coi vettori, se creo un vettore di oggetti menu per riempirlo con i dati presi dal db come devo fare?
Perché se faccio:
temp.addElement(rs.getString("menuName"));

dove temp è un vector di Menu, mi dice che non può convertire una stringa in menu :-|
Ovviamente così no.

Invece es.:
codice:
Menu menu = new Menu();
menu.setName(rs.getString("menuName"));
menu.setXXXX(rs.getYYYY("xxxxxx"));
.....
lista.add(menu);