Convertir tableau ArrayList Int [] à l'aide .toArray ()? Ou...?

Mandingue:

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

Ruslan:

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?

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=118088&siteId=1
conseillé
Classement