[]配列().toArray使用intへのArrayListを変換?それとも...?

マンディンゴ:

だから、これは、日付範囲内で利用可能なお部屋をチェックする方法の一部であり、利用可能である部屋番号のINT []配列を返すことを意味します。

        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 []

エラー)(roomNums.toArrayの端で起こります

私はそれが私のためではない理由を、他の誰かがこの1ライナーを行うと、それが彼らのために働いて見ましたか?

roomNums内のすべての要素が整数です。(おもう)

利用可能なお部屋を含む整数配列を印刷する最速かつ最も簡単な方法は何ですか?私はループを作るために必要とするか、または私はこの.toArray()1ライナーまたはそれに似たもので何かを行うことができますか?

感謝

ルスラン:

使用しないでくださいタイプを。交換するArrayList roomNums = new ArrayList();

ArrayList<Integer> roomNums = new ArrayList<>();

次にとしてそれを返します Integer[]

roomNums.toArray(Integer[]::new);

あなたはプリミティブ配列を必要とする場合、それは流れで行うことができます。

return roomNums.stream().mapToInt(Integer::valueOf).toArray();

参照してくださいプリミティブint配列に整数を格納するArrayListを変換する方法は?

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=118087&siteId=1