我有一个将unitPrice设置为BigDecimal数据类型的域类。现在,我正在尝试创建一种比较价格的方法,但似乎我没有BigDecimal数据类型的比较运算符。我必须更改数据类型还是其他方法?
Class的每个对象BigDecimal都有一个compareTo可用来将其与另一个BigDecimal进行比较的方法。compareTo然后比较的结果> 0,== 0或者< 0根据需要进行比较。阅读文档,您将找到答案。
BigDecimal
compareTo
> 0
== 0
< 0
运营商==,<,>等只能在基本数据类型等中使用int,long,double或它们的包装类等Integer和Double。
==
<
>
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与指定的进行比较BigDecimal。
BigDecimal 此方法将值相等但规模不同的两个对象(例如2.0和2.00)视为相等。对于六个布尔比较运算符(<,==,>,> =,!=,<=)中的每一个,该方法优先于单个方法提供。建议执行这些比较的习惯用法是:(x.compareTo(y) <op> 0),其中<op> 是六个比较运算符之一。
(x.compareTo(y) <op> 0)
<op>
返回:-1、0或1,因为此BigDecimal在数值上小于,等于或大于val。