关于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);

总结

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

相关文章

  • SpringBoot @ExceptionHandler与@ControllerAdvice异常处理详解

    SpringBoot @ExceptionHandler与@ControllerAdvice异常处理详解

    在Spring Boot应用的开发中,不管是对底层数据库操作,对业务层操作,还是对控制层操作,都会不可避免的遇到各种可预知的,不可预知的异常需要处理,如果每个处理过程都单独处理异常,那么系统的代码耦合度会很高,工作量大且不好统一,以后维护的工作量也很大
    2022-10-10
  • Java从控制台接受输入字符的简单方法

    Java从控制台接受输入字符的简单方法

    这篇文章主要介绍了Java从控制台接受输入字符的简单方法,需要的朋友可以参考下
    2014-02-02
  • Java中如何正确重写equals方法

    Java中如何正确重写equals方法

    Object类中equals方法比较的是两个对象的引用地址,只有对象的引用地址指向同一个地址时,才认为这两个地址是相等的,否则这两个对象就不相等
    2021-10-10
  • Java代码注释规范(动力节点整理)

    Java代码注释规范(动力节点整理)

    代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率。也是程序代码可维护性的重要环节之一。下面通过本文说一下我们在日常开发中使用的代码注释规范
    2017-03-03
  • SpringBoot工程打包后执行Java -Jar就能启动的步骤原理

    SpringBoot工程打包后执行Java -Jar就能启动的步骤原理

    这篇文章主要介绍了SpringBoot工程打包后为何执行Java -Jar就能启动,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • java实现手机短信验证的基本思路

    java实现手机短信验证的基本思路

    这篇文章主要为大家详细介绍了java实现手机短信验证的基本思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • java基于递归算法实现汉诺塔问题实例

    java基于递归算法实现汉诺塔问题实例

    这篇文章主要介绍了java基于递归算法实现汉诺塔问题,结合具体实例形式分析了java递归算法的实现与使用技巧,需要的朋友可以参考下
    2017-07-07
  • IDEA 如何导入别人的javaweb项目进行部署

    IDEA 如何导入别人的javaweb项目进行部署

    这篇文章主要介绍了IDEA 如何导入别人的javaweb项目进行部署,本文给大家分享我的详细部署过程及遇到问题解决方法,需要的朋友可以参考下
    2023-03-03
  • java使用ant.jar解压缩文件的示例代码

    java使用ant.jar解压缩文件的示例代码

    这篇文章主要介绍了java使用ant.jar解压缩文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • java实现国产sm4加密算法

    java实现国产sm4加密算法

    这篇文章主要介绍了java实现国产sm4加密算法的步骤,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12

最新评论