Java Stream How to - Map BigDecimal to double and calculate average








Question

We would like to know how to map BigDecimal to double and calculate average.

Answer

//ww  w. j a  va  2 s.c  o m
import java.math.BigDecimal;
import java.util.stream.Stream;

public class Main {

  public static void main(String[] args) throws Exception {

    Stream.of(new BigDecimal("1.2"), new BigDecimal("3.7"))
        .mapToDouble(BigDecimal::doubleValue).average()
        .ifPresent(System.out::println);
  }
}

The code above generates the following result.