У каждого объекта класса BigDecimalесть метод, который compareToвы можете использовать для сравнения с другим BigDecimal. Результат compareToсравнивается > 0, == 0или в < 0зависимости от того, что вам нужно. Прочтите документацию, и вы узнаете.
Операторы ==, <, >и так далее могут быть использованы только на примитивных типов данных , таких как int, long, doubleили их классов обертки , как Integerи Double.
Из документации compareTo:
Сравнивает это BigDecimalс указанным BigDecimal.
Два BigDecimal
объекта равной стоимости, но разного масштаба (например, 2.0 и 2.00) считаются равными по этому методу. Этот метод предоставляется вместо отдельных методов для каждого из шести логических операторов сравнения (<, ==,>,> =,! =, <=). Предлагаемая идиома для выполнения этих сравнений:, (x.compareTo(y) <op> 0)где<op>
- один из шести операторов сравнения.
Возвращает: -1, 0 или 1, поскольку этот BigDecimal численно меньше, равен или больше val.
BigDecimalкак естьObject, нет, это не работает. Но вы можете просто вычесть их друг из друга и проверить, будет ли полученное значение<0,==0или>0. В противном случае вы могли бы пойти стандартным путем с предоставленными методами из BigDecimal