一尘不染

Java 类型为int的文字xyz超出范围

java

目前,我正在使用Java处理数据类型,如果我正确理解该类型,则long可以接受介于-9,223,372,036,854到+9,223,372,036,854,775,807之间的值。现在,你可以在下面看到,我创建了一个Long变量,名为testLong,尽管当我将9223372036854775807插入为值时,我收到一条错误消息:

“ int类型的文字9223372036854775807超出范围。”

我不知道为什么它将long数据类型称为int

有人有想法么?

下面的代码:

char testChar = 01;
byte testByte = -128;
int testInt = -2147483648;
short testShort = -32768;
long testLong = 9223372036854775807;
float testFoat;
double testDouble = 4.940656458412;
boolean testBool = true;

阅读 366

收藏
2020-03-22

共1个答案

一尘不染

L在末尾添加大写字母:

long value = 9223372036854775807L;

否则,编译器将尝试将文字解析为int,因此出现错误消息

2020-03-22