gpt4 book ai didi

java - 将 long 转换为整数是如何工作的?

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:56 25 4
gpt4 key购买 nike

我正在编写一些代码,我必须将 long 转换为 int。输入以字符串形式出现,实际数字太大,无法立即解析为 int。所以我尝试解析为 long,然后转换为 int,这有效但让我感到困惑,因为我认为它不会。

public void setNum(String Num) {
if (Num != null){
//THIS MAKES NO SENSE **to me** :(
this.Num = (int) Long.parseLong(Num);
} else {
this.Num = -1;
}
}

我已经阅读了在这里找到的其他几个主题,特别是 this one虽然它介绍了如何安全地转换它们,但它没有解释这个过程是如何工作的,我很好奇它是如何工作的。我知道,如果 long > Integer.MAX_VALUE 会导致数据在转换时发生更改,我仍然对转换的实际工作原理感到困惑。

最佳答案

如果Long.parseLong(Num)返回的值高于Integer.MAX_VALUE或低于Integer.MIN_VALUE,则将其转换为int将导致不正确的值。

对于正长整型,将它们转换为 int 只是意味着将 32 个最低位分配给整型变量。我不确定负多头是否相同(我必须检查)。

关于java - 将 long 转换为整数是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31187792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com