반응형
해당 글에서는 integer number too large 오류에 대해 해결방법에 대해 알아봅니다.
1) 문제점: Integer number too large
1. Integer number too large
💡 Integer number too large
- Java에서 정수 값이 표현 가능한 범위를 초과했을 때 발생하는 오류입니다.
- int와 long은 정해진 비트 수로 값을 표현할 수 있습니다. 만약 이 비트 수를 초과하는 값을 사용하면 이 오류가 발생합니다.
💡 [참고] int(=Integer)와 long(=Long)의 최소/최대 범위입니다.
타입 | 최소 범위 | 최대 범위 |
int(=Integer) | -2,147,483,648 | +2,147,483,647 |
long(=Long) | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
Fixing the “java: integer number too large” Error | Baeldung
반응형
2) 해결방법 : Integer number too large
1. int/Integer를 long 타입으로 수정합니다.
💡 int/Integer를 long 타입으로 수정합니다.
- 해당 타입을 수정하더라도 동일한 오류가 발생하고 있습니다.
- 이는 long 타입의 최대 범위 안에 들어가는 숫자인데 동일하게 오류가 발생하고 있습니다
2. long 타입에 접미사를 붙여줍니다.
💡 long 타입에 접미사를 붙여줍니다.
- Java에서 숫자 리터럴을 작성할 때 정수 범위 내에 있든 없든 상관없이 Java는 이를 int / Integer 유형으로 처리합니다.
- 이를 위해 정수 리터럴을 long 타입으로 만들려면 ’L’ 또는 'l' 접미사를 추가해야 합니다.
- 또한 ‘l’을 사용하기 보다는 ‘L’을 사용하는 것을 IntelliJ에서 권장하고 있습니다.
💡 아래와 같이 접미사를 붙여서 해결하였습니다.
3. [참고] float에 대해서도 접미사를 붙여줍니다.
💡 float에 대해서도 접미사를 붙여줍니다.
타입 | 최소범위 | 최대범위 |
float | 1.4E-45 | 3.4028235E38 |
double | 4.9E-324 | 1.7976931348623157E308 |
- 이를 위해 정수 리터럴을 long 타입으로 만들려면 ’F’ 또는 'f' 접미사를 추가해야 합니다.
💡 아래와 같이 해결하였습니다.
오늘도 감사합니다. 😀
반응형