티스토리 뷰
매개변수 타입으로 primitive인 long과 참조형인 Long을 선택할 때 고려해야 할 기준은 다음과 같습니다:
- null 허용 여부
- long: null 값을 가질 수 없으며, 기본값이 0입니다.
→ 매개변수가 반드시 값이 있어야 하거나, null 상태를 허용하지 않는 경우 사용합니다. - Long: null 값을 허용할 수 있습니다.
→ 값이 없음을 명시적으로 표현해야 하거나, 데이터베이스 엔티티의 ID 등 초기에는 null인 상태를 허용해야 하는 경우 사용합니다.
- long: null 값을 가질 수 없으며, 기본값이 0입니다.
- 자동 박싱/언박싱
- primitive인 long은 연산에서 성능상 유리하지만, Long과의 비교나 컬렉션(Generics)에서는 자동 박싱/언박싱이 일어나므로 주의해야 합니다.
- 프레임워크 및 라이브러리 요구사항
- JPA 등 ORM에서는 기본 키를 Long (또는 다른 래퍼 타입)으로 선언하는 경우가 많습니다. (DB에서 값이 자동 생성되기 때문)
- 메서드 매개변수로 null을 전달할 가능성이 있는 경우, Long을 사용하는 것이 더 안전합니다.
결론적으로, 매개변수로 전달될 값이 항상 존재해야 하고 null 상태를 고려하지 않아도 된다면 primitive인 long을 사용할 수 있고, 그렇지 않고 null 값을 고려해야 한다면 Long을 사용하는 것이 좋습니다.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- java web-mvc
- await
- React
- java 키워드 정리
- java.sql
- 스프링 시큐리티(spring security)
- 스프링 프레임워크(spring framewordk)
- 표현 언어(expression language)
- error-java
- 문자 자르기
- 스프링 시큐리티(spring security)-http basic 인증
- 람다식(lambda expression)
- MainActor
- 진수 변환
- System.Diagnostics
- In App Purchase
- 메이븐(maven)
- 인텔리제이(intellij)
- nl2br
- jsp 오픈 소스
- 특정 문자를 기준으로 자르기
- system.io
- jstl(java standard tag library)-core
- .submit()
- docker
- REST API
- jstl(java standard tag library)
- 스프링 프레임워크(spring framework)
- 제품 등록
- java-개발 환경 설정하기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함