Basit test sınıfını düşünün:
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");
}
}
Bunun (bilinçli olarak) bunun xeşit olduğunu y(nesne başvurusu değil ) diyebilirsiniz , ancak programı çalıştırdığınızda aşağıdaki sonuç gösterilir:
false
true
Soru: arasındaki fark nedir compareTo()ve equals()de BigDecimalo compareToolduğunu belirleyebilir xeşittir y?
Not: BigDecimal'ın inflate()yöntemde bir yöntemi olduğunu görüyorum equals(). inflate()Aslında ne yapar ?
inflate(): herkese açık API'nın bir parçası değildir, çünkü yalnızca dahili temsili manipüle eder ve "dış" için görünür bir etkisi yoktur. Bu yüzden, gerçektenBigDecimalderinlemesine uygulamayı incelemek istemiyorsanız , bu yöntemi görmezden gelmenizi öneririm.