ホームページ > Java > &#&チュートリアル > 私の長い値が「範囲外」エラーをスローするのはなぜですか?

私の長い値が「範囲外」エラーをスローするのはなぜですか?

DDD
リリース: 2024-10-31 03:33:01
オリジナル
241 人が閲覧しました

Why Does My Long Value Throw an

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート