간단한 테스트 클래스를 고려하십시오.
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
깊이 있는 구현을 실제로 연구하고 싶지 않다면 이 방법을 무시하는 것이 좋습니다.