Java에서 long과 Long은 서로 다른 데이터 유형입니다. long은 기본 자료형(primitive type)으로, 64비트 정수 값을 저장할 수 있습니다. Long은 java.lang 패키지에 포함된 클래스로, long 값을 객체로 래핑하는 래퍼 클래스(wrapper class)입니다.
long과 Long은 값을 비교하는 방식도 다릅니다. long은 기본 자료형이므로 == 연산자를 사용하여 값을 비교할 수 있습니다. 예를 들어:
long a = 10;
long b = 20;
if (a == b) {
// 동일한 값입니다.
} else {
// 다른 값입니다.
}
반면에 Long은 객체이므로 == 연산자를 사용하여 객체의 참조를 비교합니다. 따라서 Long 객체의 값 비교를 위해서는 equals() 메서드를 사용해야 합니다. 예를 들어:
Long a = 10L;
Long b = 20L;
if (a.equals(b)) {
// 동일한 값입니다.
} else {
// 다른 값입니다.
}
이와 같이 long과 Long은 사용 방법과 값 비교 방식에서 차이가 있습니다. 이러한 차이점을 이해하고 적절하게 사용해야 합니다.