考慮簡單的測試類:BigDecimal的equals()方法對的compareTo()
import java.math.BigDecimal;
/**
* @author The Elite Gentleman
*
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BigDecimal x = new BigDecimal("1");
BigDecimal y = new BigDecimal("1.00");
System.out.println(x.equals(y));
System.out.println(x.compareTo(y) == 0 ? "true": "false");
}
}
可以(有意識)說x
等於y
(不是對象引用),但是當你運行該程序時,以下結果表明:
false
true
問題:什麼是在BigDecimal
compareTo()
和equals()
之間的區別在於compareTo
可以確定x
是EQUA升至y
?
PS:我看到BigDecimal在equals()
方法上有一個inflate()
方法。 inflate()
實際上做了什麼?
廣告'膨脹()':它不是公共API的一部分,因爲它僅操縱內部表示有「外」沒有明顯的效果。所以除非你真的想深入研究'BigDecimal'的實現,否則我建議你忽略這個方法。 –
可以在這裏找到一個簡短的說明和源代碼片段[here](http://stackoverflow.com/a/39163942/4723795) – xenteros