Donc, cela fait partie d'une méthode qui vérifie les chambres disponibles dans une plage de dates et est destiné à retourner le tableau int [] des numéros de chambre qui sont disponibles.
ArrayList roomNums = new ArrayList();
roomNums.toArray();
for (Room room: rooms){
int roomNumber = room.getRoomNumber();
if(room.getRoomType() == roomType && isAvailable(roomNumber, checkin, checkout)){ // This works fine, ignore it
roomNums.add(roomNumber);
}
}
return roomNums.toArray(); // Error here, return meant to be int [] type but it's java.lang.Obeject []
L'erreur se produit à la fin à roomNums.toArray ()
J'ai vu quelqu'un d'autre le faire d'une chemise et il a travaillé pour eux, pourquoi est-il pas pour moi?
Chaque élément roomNums est un nombre entier. (Je pense)
Quel est le plus rapide et le plus simple d'imprimer un tableau entier contenant les chambres disponibles? Ai-je besoin de faire une boucle ou puis-je faire quelque chose avec ce .toArray () une doublure ou quelque chose de semblable à elle?
Merci
Ne pas utiliser crus types. remplacer ArrayList roomNums = new ArrayList();
par
ArrayList<Integer> roomNums = new ArrayList<>();
Revenez ensuite comme Integer[]
roomNums.toArray(Integer[]::new);
Si vous avez besoin primitive de tableau, il peut être fait avec flux:
return roomNums.stream().mapToInt(Integer::valueOf).toArray();
Voir aussi Comment convertir un ArrayList contenant Entiers à matrice primitive int?