2014년 6월 11일 수요일

[java]int, double, float 등 변수들 비교하기

왜그런지는 몰라도 알아두면 좋은 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);