왜 long타입에는 L을 붙히는 걸까
강의를 듣다가 문득 궁금해졌다.
저 L은 안붙여도 오류 안나는데 왜 붙이는지
sequence로 int타입이 아닌 long타입을 쓰는 이유도
L을 안붙힌다면 아래와 같은 상황이 발생
2147483647에서 1만 더한 2147483648이 오류
이유
- int타입인데 너무 숫자가 너무 크단다(int는 2147483647까지만 가능)
- long타입의 값은 변수에 담기전에 임시메모리에 저장되는데
- 이때 임시로 저장하기 위해 사용하는 기본 데이터 타입이 int라서이다.
마무리
앞서 말했던 궁금증중 하나였던
sequence로 long타입을 쓰는 이유도 이해가 됐다.
만약 sequence를 int로 선언을 했는데
2147483648번째 유저가 회원가입을 한다면
오류가 날테니...
+ float도 임시메모리에서 double로 인식하니까 f를 붙혀주자
'Error' 카테고리의 다른 글
APPLICATION FAILED TO START (0) | 2022.12.07 |
---|---|
Mac) 터미널 Git 충돌(Automatic merge failed; fix conflicts and then commit the result.) (0) | 2022.11.24 |
Mac) 터미널 Git config 인코딩 (0) | 2022.11.18 |
스프링 빈 순환 참조 오류(The dependencies of some of the beans in the application context form a cycle) (0) | 2022.11.15 |
java: variable memberRepository not initialized in the default constructor (0) | 2022.11.11 |
댓글