Difference between BigDecimal.ROUND_HALF_UP and RoundingMode.HALF_UP?

Below:

new MathContext(precision, RoundingMode.HALF_UP);

seems to work. However, the following returns an error:

new MathContext(precision, BigDecimal.ROUND_HALF_UP);

Mistake:

java: no suitable constructor found for MathContext(int,int)
    constructor java.math.MathContext.MathContext(java.lang.String) is not applicable
      (actual and formal argument lists differ in length)
    constructor java.math.MathContext.MathContext(int,java.math.RoundingMode) is not applicable
      (actual argument int cannot be converted to java.math.RoundingMode by method invocation conversion)
    constructor java.math.MathContext.MathContext(int) is not applicable
      (actual and formal argument lists differ in length)
+4
source share
1 answer

Note that the constants are:

RoundingMode.HALF_UP
BigDecimal.ROUND_HALF_UP

means exactly the same according to Javadocs and according to the source code:

public enum RoundingMode {
....
HALF_UP(BigDecimal.ROUND_HALF_UP),
....
} 
+2
source

All Articles