Java 8 wprowadza zmianę zachowania
java.math.BigDecimal stripTrailingZeros
Metoda, gdy wartość jest numerycznie równa zeru i ma niezerową skalę.
Skala określa liczbę zer po prawej stronie pozycji dziesiętnej.
W wersjach wcześniejszych niż Java 8 metoda stripTrailingZeros zwracała samą wartość.
W języku Java 8 metoda ta zwraca wartość BigDecimal.ZERO, która jest wartością zerową z zerową skalą.
Ta reguła powoduje oznaczenie metody stripTrailingZeros klasy java.math.BigDecimal. Ta zmiana działania nie wymaga żadnej zmiany kodu, ponieważ metoda działa obecnie zgodnie z oczekiwaniem. Przygotowując się do używania środowiska Java 8, należy pamiętać o tej różnicy, ponieważ może ona spowodować niepowodzenie przypadków testowych.
W poniższym przykładzie przedstawiono sposób użycia metody stripTrailingZeros.
Jeśli ten kod zostanie wywołany w środowisku języka Java 7, zostaną wyświetlone następujące dane wyjściowe:
Starting decimal = 0.000000 scale = 6W środowisku języka Java 8 wyświetlane są następujące dane wyjściowe:
Starting decimal = 0.000000 scale = 6Więcej informacji na temat metody BigDecimal zawiera dokumentacja języka Java: java.math.BigDecimal.