간단한 테스트 클래스를 고려하십시오.
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
질문 : 차이 무엇 compareTo()과 equals()에서 BigDecimal그 compareTo것을 확인할 수 있습니다 x같다가 y?
추신 : BigDecimal에는 inflate()메소드에 대한 equals()메소드가 있습니다. 무엇 않습니다 inflate()실제로합니까?
inflate(): 내부 표현 만 조작하고 "외부"에 가시적 인 영향을 미치지 않기 때문에 공개 API의 일부가 아닙니다. 따라서BigDecimal깊이 있는 구현을 실제로 연구하고 싶지 않다면 이 방법을 무시하는 것이 좋습니다.