"int 유형의 리터럴 xyz가 범위를 벗어났습니다" 수정
Java에서 데이터 유형으로 작업할 때 해당 유형을 이해하는 것이 중요합니다. 값 범위. 그러나 long 변수에 값을 할당하는 경우에도 "The literal xyz of type int is out of range"라는 오류가 발생할 수 있습니다.
이 문제를 해결하려면 int 유형을 명시적으로 지정하는 것이 핵심입니다. 가치. Java에서는 최대 2^31-1의 정수 값을 int로 표현할 수 있지만 더 큰 값에는 long이 필요합니다. 그러나 Java는 달리 명시적으로 지정하지 않는 한 암시적으로 숫자 리터럴을 int로 해석합니다.
귀하의 경우 코드는 testLong이라는 긴 변수에 2^63-1보다 큰 값을 할당합니다. 리터럴 9223372036854775807이 int의 범위를 초과하므로 컴파일러는 이를 int의 범위를 초과하므로 오류로 이어집니다.
이 문제를 해결하려면 숫자 리터럴 끝에 대문자 L을 추가하면 됩니다. 긴 값:
<code class="java">long testLong = 9223372036854775807L;</code>
리터럴 유형을 명시적으로 지정하면 컴파일러가 리터럴을 적절한 데이터 유형에 올바르게 할당하도록 할 수 있습니다. 이 방법은 잠재적인 오류를 피하기 위해 데이터 유형의 최대값 또는 최소값에 가까운 리터럴로 작업할 때 특히 중요합니다.
위 내용은 긴 변수에 할당할 때 Java에서 \"int 유형의 리터럴 xyz가 범위를 벗어났습니다\"가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!