1

わかりましたので、以下のような情報を含む列挙型クラスがあります。

...
_08_01(811, "08_01"),
....

enum と一致するように int 811 を 0801 に変更したいのですが、そうすると、Eclipse から次のようなエラーがスローされます。

The literal 0801 of type int is out of range

それは間違いなく int の範囲ではないので、それが範囲外であることを理解することはできません。これがスローされている理由を理解するのを手伝ってくれる人はいますか?

ありがとう!

4

3 に答える 3

4

0 で始まる数値は 8 進法であり、数字の '8' は使用できません。

于 2012-10-12T11:28:57.310 に答える
2

リテラル 0801 は 8 進数です (前の 0 はそれを示します)。これは、8 が許可されていないことを意味します。

于 2012-10-12T11:28:29.990 に答える
1

0 で始まる int は 8 進数 (10 進数ではない) として扱われます

于 2012-10-12T11:28:38.743 に答える