Java实现int、long、Integer、Long之间的相互转换

 更新时间:2023年08月20日 16:35:38   作者:明月一壶酒  
本文主要介绍了Java实现int、long、Integer、Long之间的相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、int<->long

1. 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区值范围,会出现值溢出的问题

(2)利用BigDecimal转换

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

2. int -> long

(1)类型强制转换

 int numberInt = 123;
 long numberLong = numberLong;    // 因为long类型精度大于int类型精度,转换过程不会发生精度丢失情况,所以隐式强制转换即可

(2)利用BigDecimal转换

int numberInt = 100;
BigDecimal numBigDecimal = new BigDecimal(numberInt);
   // 或 numBigDecimal = BigDecimal.valueOf(numberInt);
long numberlong = numBigDecimal.longValue();

二、Long <-> Integer

1. Long转化为Integer

(1)使用Long的api

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

(2)利用String转换 

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

2. Integer转化为Long 

(1)使用Integer的api

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

(2)使用Long的构造方法 

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

(3)利用String 

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

到此这篇关于Java实现int、long、Integer、Long之间的相互转换的文章就介绍到这了,更多相关Java int、long、Integer、Long转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringCloud Gateway使用redis实现动态路由的方法

    SpringCloud Gateway使用redis实现动态路由的方法

    这篇文章主要介绍了SpringCloud Gateway使用redis实现动态路由的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java如何通过反射获取私有构造、私有对象、私有字段、私有方法

    Java如何通过反射获取私有构造、私有对象、私有字段、私有方法

    这篇文章主要介绍了Java如何通过反射获取私有构造、私有对象、私有字段、私有方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • spring @schedule注解如何动态配置时间间隔

    spring @schedule注解如何动态配置时间间隔

    这篇文章主要介绍了spring @schedule注解如何动态配置时间间隔,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • win10下配置java环境变量的方法

    win10下配置java环境变量的方法

    这篇文章主要介绍了win10下配置java环境变量的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Java双色球系统开发详解

    Java双色球系统开发详解

    这篇文章主要为大家详细介绍了Java双色球系统的开发,超级简单的逻辑,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • SpringBoot+Redis使用AOP防止重复提交的实现

    SpringBoot+Redis使用AOP防止重复提交的实现

    本文主要介绍了SpringBoot+Redis使用AOP防止重复提交的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • SpringBoot手动开启事务:DataSourceTransactionManager问题

    SpringBoot手动开启事务:DataSourceTransactionManager问题

    这篇文章主要介绍了SpringBoot手动开启事务:DataSourceTransactionManager问题,具有很好的价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Mybatis拦截器实现分页

    Mybatis拦截器实现分页

    本文介绍使用Mybatis拦截器,实现分页;并且在dao层,直接返回自定义的分页对象。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • MyBatis框架之mybatis逆向工程自动生成代码

    MyBatis框架之mybatis逆向工程自动生成代码

    Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。本文主要给大家介绍mybatis逆向工程自动生成代码,感兴趣的朋友一起学习吧
    2016-04-04
  • java实现查找替换功能

    java实现查找替换功能

    这篇文章主要为大家详细介绍了java实现查找替换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03

最新评论