왜그런지는 몰라도 알아두면 좋은 java tip!!
java에서 int, double, float등 타입들을 비교할 때,
흔히 if문으로 장대한 비교문장들을 구현하는데..
솔직히 귀찮다면 이런 함수들을 이용 해보자!!
1.int 형
BigInteger 라는 클래스에 int 변수를 담아서 비교 한다!
예문)
BigInteger big1 = new BigInteger("123");
BigInteger big2 = new BigInteger("124");
int result = big1.compareTo(big2);
모두 다 아는 compareTo 함수를 호출하면 되는데, 이전에 주의 할 점은 BigInterger의 생성자에는 int형을 매개변수로 받는 생성자가 오버로딩이 되어 있지 않으므로 String형으로 바꿔 줘야 한다. 만약에 변수에 int형을 담았다면, new BigInteger(""+val); 이런식으로 바꾸는 센스!
2.double, float 형
각 wrapper 클래스에 compareTo 함수를 이용하면 끝!.
예문)
int result = Double.compare(0.1, 0.2);
3.String 형
String 클래스는 comparaTo 함수를 잘 오버라이드 되어 있어 그래도 쓰면 됨.
예문)
String s1 ="abc";
String s2 = "abd";
int result = s1.compareTo(s2);