这个数字属于长距离,为什么我会收到错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The literal 8751475143 of type int is out of range
Run Code Online (Sandbox Code Playgroud)
Jig*_*shi 11
做了
long n = 8751475143L;
Run Code Online (Sandbox Code Playgroud)
L 将使它长文字
默认情况下 int
如果整数文字后缀为ASCII字母L或l(ell),则整数文字的长度为long; 否则它的类型为int(§4.2.1).后缀L是优选的,因为字母l(ell)通常难以与数字1(一)区分开.[..]
解析文字时不考虑赋值的目标 - 所以你需要L后缀:
long n = 8751475143L;
Run Code Online (Sandbox Code Playgroud)
在大多数情况下-有有少数例外-一个表达式的类型是没有太多参考它的上下文来确定.因此,根据JLS的3.10.1节,整数文字是类型的,int除非它有一个l或L后缀,并且类型的整数文字int的范围当然限于其范围int.
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |