首页 > 解决方案 > 将 long 转换为整数有什么意义?

问题描述

public class ConstantsAndCasting{
     public static void main (String args[]){
          long hugeNum = 23456013477456L;
          int smallNum = (int)hugeNum;
          System.out.println(hugeNum);
          System.out.println(smallNum); 
     }
}

上面列出的代码的输出是:

23456013477456 
1197074000

似乎在将 long 转换为整数值时,java 保留了从右侧工作左侧开始的 32 位。结果是一个比原始长值更接近 0 的值。从机器的角度来看,这完全有道理,但它的实际用途是什么?看起来你最好使用随机数生成器来生成 10 个随机字符。

提前致谢!

标签: java

解决方案


有点不清楚如何回答这个问题...与任何类型转换一样,当您具有一种类型的值(在本例中为 long)但您需要不同类型的值(在本例中为 int )。

是的,有时它会给你带来不想要的结果,因为强制转换操作的限制(这又是基于数据类型的限制)。但是选择其中一个,并说“那么做这个操作有什么意义”,就像说“如果我有两个整数,a并且b,每个值都是 2,000,000,000 - 添加它们不会得到想要的结果.. . 那么添加整数有什么意义呢?”


推荐阅读