정수의 타입으로 대표적으로 int 를 많이 사용하게 된다.
웬만하면 int 만 사용해도 큰 문제 없이 사용할 수 있지만!!!
간혹 int 로 해결이 되지 않은 경우가 있다.
그때 Integer , Long , long 을 사용할 수 있는데 어떠한 상황에 어떠한 타입을 사용해야하는지 정하려면 정확하게 타입을 이해해야 한다!
크게 기본타입, 박싱된 기본 타입으로 분류 할 수 있다.
- 기본타입 : int , long ,double , boolean 등
- 박싱된 기본타입(참조타입) : Integer , Long, Double , Boolean
int a = 1 , b =1;
Integer c = new Integer(1);
Integer d = new Integer(1);
System.out.println("기본타입 : " + (a==b));
System.out.println("박싱타입 : " + (c==d));
기본타입 인 int 형식으로 두 수를 비교했을 때는 true
박싱타입 인 Integer 형식으로 두 수를 비교했을때는 false 이다.
왜냐?
박싱 타입에는 값 외에도 식별성이라는 속성이 있기 때문입니다.
보여지는 값은 같지만, 다른 식별자로 false 가 반환됩니다.
(박싱타입은 equals 함수를 사용해주면 된다.)
System.out.println("박싱타입 equal : " + c.equals(d));
⚡Integer vs int
- Integer 은 null 허용
- int 는 null 사용 불가
⚡Long vs long
- Long 은 null 허용
- long 은 null 사용 불가
⚡ int vs long
int형
- 32bit
- 정수를 나타내는 데이터 타입
- 범위 : -2147483648 ~ 2147483647
long 형
- 64bit
- 정수를 나타내는 데이터 타입
- 범위 : -9223372036854775808 ~ 9223372036854775807
💡 각 상황에 맞춰 사용하면 되지만 기본타입과 박싱된 기본타입을 선택해야 한다면 가능하면 간단하고 빠른 기본타입을 사용하는 것이 좋다.
'Java 정리' 카테고리의 다른 글
HashSet 과 HashMap 정리하기(차이점) (0) | 2024.12.16 |
---|---|
[JAVA] Comparable vs Comparator 비교 (0) | 2024.11.18 |