Quelle est la différence entre ces deux appels? (Y a-t-il?)
// 1.
new BigDecimal("3.53456").round(new MathContext(4, RoundingMode.HALF_UP));
// 2.
new BigDecimal("3.53456").setScale(4, RoundingMode.HALF_UP);
round
méthode renvoie également une nouvelle instance de BigDecimal car, comme vous l'avez dit, les instances sont immuables.