안녕하세요. 명월입니다.
이 글은 자바에서 Compare 함수의 결과에 대한 글입니다.
이전에 제가 C#으로 Compare함수의 결과에 대해 조사한 적이 있었습니다. 그걸 한번 조사한 후로 제가 머리속에 Compare 값이 딱 머리속에 박혀서 최근에 꽤 유용하게 사용하고 있습니다.
그래서 내친 김에 Java도 조사해 놔서 유용하게 사용해 볼까합니다.
링크 - [C#] Compare 함수의 결과
C#에서는 <,=,> 순으로 True 일경우, -1 ,0 , 1의 결과가 나왔습니다. Java에서는 어떨까요?
public class CompareExample {
public static void main(String... args) {
//결과는 -1
System.out.println(Integer.compare(1, 2));
//결과는 0
System.out.println(Integer.compare(2, 2));
//결과는 1
System.out.println(Integer.compare(3, 2));
}
}
C#과 같은 결과입니다. 날짜의 경우는 어떨까요?
import java.util.Calendar;
import java.util.Date;
public class CompareExample {
public static void main(String... args) {
Date date = getDate(2019, 7, 3);
//결과는 -1
System.out.println(date.compareTo(getDate(2019, 7, 4)));
//결과는 0
System.out.println(date.compareTo(getDate(2019, 7, 3)));
//결과는 1
System.out.println(date.compareTo(getDate(2019, 7, 2)));
}
private static Date getDate(int year, int month, int day) {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(0);
cal.set(year, month, day);
return cal.getTime();
}
}
날짜도 역시 <, =, >의 순서로 -1, 0, 1의 값이 나옵니다.
Compare식의 값을 알아두면 소트식을 만들때 엄청 편해지더라고요... 정말 알아두면 좋은 Tip값은 것이라 정리해 봤습니다.
여기까지 Java의 Compare 함수의 결과에 대한 설명이었습니다.
궁금한 점이나 잘못된 점이 있으면 댓글 부탁드립니다.
'Development note > Java' 카테고리의 다른 글
[Java] Jsoup를 이용해서 XML파일(HTML)을 다루는 방법 (0) | 2019.08.07 |
---|---|
[Java] 직렬화(Serializable) (2) | 2019.07.16 |
[Java] 클래스 복제(Clonable, Reflection) (0) | 2019.07.15 |
[Java] Java와 C#간의 소켓 통신 (1) | 2019.07.06 |
[Java] 날짜 포맷 설정(SimpleDateFormat) (0) | 2019.07.01 |
[Java] StringBuilder와 StringBuffer의 차이 (0) | 2019.06.22 |
[Java] HttpUrlConnection을 이용해서 웹 페이지를 가져오기 (0) | 2019.06.21 |
[Java] Gson을 이용한 Json 다루기 (0) | 2019.06.19 |