aan*_*dis 0 java integer long-integer
String a = "576055795";
long b = 10*Integer.parseInt(a);
long c = 10*Long.parseLong(a);
System.out.println(b); //Prints 1465590654
System.out.println(c); // Prints 5760557950
Run Code Online (Sandbox Code Playgroud)
他们为什么不同?
use*_*031 11
Integer.parseInt()返回一个int带符号的32位整数. 10也是一个int; 乘以576055795由10作为整数溢出和产生一个int,然后将其提升到一个long.
Long.parseLong()返回a long,这是一个带符号的64位整数.乘以它10产生一个长而没有溢出.
| 归档时间: |
|
| 查看次数: |
14991 次 |
| 最近记录: |