关于Long和Integer相互转换方式

 更新时间:2023年08月30日 08:35:36   作者:哇~是小菜呀  
这篇文章主要介绍了关于Long和Integer相互转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、int和long互相转换

(一)long转化为int

(1)类型强制转换

 long numberLong = 123L;// "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
 int numberInt = (int) numberLong;

注意:

int有4个字节,取值范围为[-231,231 - 1]

long有8个字节,[-263 ,263 -1]

如果long的值超过了int区值范围,会出现值溢出的问题:

就会得以下内容:

这是因为:当取值范围超过int的最大值时,会变为int取值范围的最小值,不会继续增长了。

(2)利用BigDecimal强制转换

long numberLong = 100L;
BigDecimal numBigDecimal = new BigDecimal(numberLong);
   // 或 numBigDecimal = BigDecimal.valueOf(numberLong);
int numberInt = numBigDecimal.intValue();

(二)int转化为long

(1)类型强制转换

 long numberLong = 123L;// "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
 int numberInt = (int) numberLong;

(2)利用BigDecimal强制转换

 int numberInt = 100;
 BigDecimal bigNumber = new BigDecimal(numberInt);
// 或者 BigDecimal bigNumber = BigDecimal.valueOf(numberInt);
 long numberLong = bigNumber.longValue();

二、Long和Integer的互相转换

(一)Long转化为Integer

(1)类型强制转化(不可用)

会出现报错

报编译错: 无法转换的类型,Long不能被强制转化为Integer。

(2)使用Long的api

Long numberLong = new Long(1000L);
Integer intNumber = numberLong.intValue();

(3)利用String转换

Long longValue = new Long(1000l);
String strValue = longValue.toString();
// 或者 Integer intValue = new Integer(strValue);
Integer intValue = Integer.valueOf(strValue);

(二)Integer转化为Long

(1)类型强制转化(不可用)

(2)使用Integer的api

Integer intValue = new Integer(1000);
Long longValue = intValue.longValue();

(3)使用Long的构造方法

Integer intValue = new Integer(1000);
Long longValue = new Long(intValue);

(4)利用String

Integer intValue = new Integer(1000);
String strValue = intValue.toString();
Long longValue = new Long(strValue);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 获取Word中所有的插入和删除修订的方法

    Java 获取Word中所有的插入和删除修订的方法

    这篇文章主要介绍了Java 获取Word中所有插入和删除修订,在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入、删除、替换和格式更改。对插入或删除的内容,本文介绍获取方法,需要的朋友可以参考下
    2022-04-04
  • 使用Java实现RabbitMQ延时队列

    使用Java实现RabbitMQ延时队列

    RabbitMQ 延时队列是指消息在发送到队列后,并不立即被消费者消费,而是等待一段时间后再被消费者消费,本文为大家介绍了实现RabbitMQ延时队列的Java代码,希望对大家有所帮助
    2023-06-06
  • 浅谈synchronized加锁this和class的区别

    浅谈synchronized加锁this和class的区别

    synchronized 是 Java 语言中处理并发问题的一种常用手段,本文主要介绍了synchronized加锁this和class的区别,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • SpringBoot使用mybatis-plus分页查询无效的问题解决

    SpringBoot使用mybatis-plus分页查询无效的问题解决

    MyBatis-Plus提供了很多便捷的功能,包括分页查询,本文主要介绍了SpringBoot使用mybatis-plus分页查询无效的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • SpringBoot Maven的操作与配置图文教程

    SpringBoot Maven的操作与配置图文教程

    Spring Boot开发中,将项目打包为可执行JAR是部署到生产环境的关键步骤,这篇文章主要介绍了SpringBoot Maven操作与配置的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • Java网络编程之IO模型阻塞与非阻塞简要分析

    Java网络编程之IO模型阻塞与非阻塞简要分析

    这篇文章主要介绍Java网络编程中的IO模型阻塞与非阻塞简要分析,文中附有示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • Java parseInt解释加方法示例

    Java parseInt解释加方法示例

    使用此方法得到的原始数据类型的一个特定的字符串。 parseXxx()是一个静态方法,可以有一个参数或两个
    2013-11-11
  • SpringBoot项目保证接口幂等的五种方法

    SpringBoot项目保证接口幂等的五种方法

    在计算机领域中,幂等是指任意一个操作的多次执行总是能获得相同的结果,不会对系统状态产生额外影响,在Java后端开发中,幂等性的实现通常通过确保方法或服务调用的结果具有确定性,本文给大家介绍了SpringBoot项目保证接口幂等的五种方法,需要的朋友可以参考下
    2025-07-07
  • Java中生成随机数的4种方式与区别详解

    Java中生成随机数的4种方式与区别详解

    生成随机数是我们日常开发经常会遇到的一个功能,这篇文章主要给大家介绍了关于Java中生成随机数的4种方式与区别、应用场景的相关资料,4个方式分别是Random、ThreadLocalRandom、SecureRandom以及Math,需要的朋友可以参考下
    2021-06-06
  • Java实现锁定某个变量的几种方式示例详解

    Java实现锁定某个变量的几种方式示例详解

    这篇文章主要为大家介绍了Java实现锁某个变量的几种方式示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09

最新评论