Java parseInt vs parseLong [英] Java parseInt vs parseLong
本文介绍了Java parseInt vs parseLong的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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
为什么它们不同?
推荐答案
Integer.parseInt()
返回 int
,这是带符号的32位整数。 10
也是 int
;将 576055795
乘以 10
,因为ints溢出并产生 int
,然后提升为 long
。
Integer.parseInt()
returns an int
, which is a signed 32-bit integer. 10
is also an int
; multiplying 576055795
by 10
as ints overflows and yields an int
, which is then promoted to a long
.
Long.parseLong()
返回 long
,这是一个带符号的64位整数。乘以 10
会产生一个没有溢出的长。
Long.parseLong()
returns a long
, which is a signed 64-bit integer. Multiplying it by 10
yields a long with no overflow.
这篇关于Java parseInt vs parseLong的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文