ストリームAPIの問題のコードを実際に試してみた
紫本の中の問題のコードをdokojavaさんのところで確認してみたんやが、なぜか平均の20.0ではなく、15.0が表示されてしまう。どういうことだ?ストリームにあるリテラルを合わせると60.0やから、/3ではなく/4の数字なっちゃってるんだけど、どこで4になるのか、さっぱり分からない。
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
double result = DoubleStream.of(10.0, 20.0, 30,0)
.mapToInt(x -> (int)x)
.boxed()
.collect(Collectors.averagingInt(x -> x));
System.out.println(result);
}
}