オブジェクト[]配列をint []配列にマップしてフィルタリングしようとしています。オブジェクトがintの場合はうまく動作しますが、そうでない場合はキャスト例外がスローされます。私は何とかラムダ式でtry/catchを付けることができるかどうか疑問に思っていますか?ここに私のコード:オブジェクト配列をInt配列にマップする
b[i] = Arrays.stream(item).mapToInt(e -> (int) e).filter(e -> e % 2 != 0).toArray();
またはそれ以上の方法はブロック全体をキャッチしようとしていますか?
いくつかのオブジェクトがintであり、他のオブジェクトがそうでない場合、どのような動作が期待されますか? – mishadoff
もちろん、そうです。私はちょうどどのように全体の配列を削除せずにそれをキャッチしようと思っています。 – ceroeps
は 'filter'を使って有効なオブジェクトのみをマップするか、' e - >(int)e'を 'try/catch'を置く独自のメソッドに移動します。 – Roland