どのように私はストリームを用いた二重配列から非int型の値を除外していますか?

学習:

メソッド参照に不正な戻り値の型:A []に[]をダブルを変換することはできませんIntelliJのは、ダブル[]誤りであることを私に言ってきました。私は、] [二重に使用している::新しい静的参照を除去し、まだ同じエラー。どのように私はこのエラーを解決するのですか?私は戻っ1.000フィルタリングされた結果で取得しようとしています。

double[] pricesDoubleArr = {1.000,2.800,4.900};
double[] pricesDoubleFiltered = Arrays.stream(pricesDoubleArr)
                                      .filter(x -> x != Math.round(x))
                                      .toArray(Double[]::new);
YCF_L:

ただ、使用.toArray();せずにDouble[]::new、doubleの配列を始めてから自分のストリーム保留理由:

double[] doubles = Arrays.stream(pricesDoubleArr)
        .filter(x -> x != Math.round(x))
        .toArray();

私は確かにあなたがあなたのコードから見ているではないんだけど、あなたの質問から:

私は戻っ1.000フィルタリングされた結果で取得しようとしています。

私は、あなたが探していると思います:

.filter(x -> x == (double) (int) x)

おすすめ

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