Intellij long “integer value is too big” but in ra

2019-06-17 01:33发布

问题:

This might be a silly thing but how is this possible that compiler will show this while Long.Max = 9223372036854775807 ?

回答1:

You must have Long literals in Java ending with an L, adding an L to your integer will correct your issue, like so: Long s = 9223372036854775806L

This is because by default Java interprets all integers as 32-bit (int), the suffix L ensures that your integer is interpreted as 64-bit.



回答2:

just put 'l' or 'L' in the end of it and it will be ok, like:

long a = 9223372036854775807L;


回答3:

Use Long s = 9223372036854775806L