Long データ型の謎: 「範囲外」エラーを解明する
Java でデータ型を扱う場合、それぞれの値の範囲を遵守することが重要です。特にロングは、-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 までの驚異的な範囲を誇ります。ただし、適切な構文に従わない場合、複雑なエラーが発生する可能性があります。
コード スニペットで示されているように、値 9223372036854775807 を testLong という名前の長い変数に割り当てようとしました。しかし、コンパイラは、「int 型のリテラル 9223372036854775807 は範囲外です。」というメッセージで警告的に応答しました。
この矛盾したエラーは、コンパイラがリテラルを int データ型として誤って解釈したことに起因します。値の範囲がはるかに小さくなります。この誤解を正すには、簡単な調整が必要です。リテラルの末尾に大文字の L を追加すると、コンパイラにそれを long として扱うよう指示します。
long value = 9223372036854775807L;
この微妙な調整を組み込むことにより、割り当てられた値は、long データ型の許容範囲内にシームレスに収まります。 。このサフィックスが存在しないと、コンパイラーがリテラルを int と誤認し、恐ろしい「範囲外」エラーが発生することに注意してください。
以上が私の長い値が「範囲外」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。