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转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java统计字符串中特定字符出现次数的几种常用方法

    Java统计字符串中特定字符出现次数的几种常用方法

    在编程的过程中,我们常常会遇到需要分析字符串的情况,比如统计某个特定字符出现的次数,这种操作在处理文本数据时非常实用,今天,我们就来聊一聊如何在Java中统计字符串中特定字符的出现次数,需要的朋友可以参考下
    2025-04-04
  • Java8中List转Map(Collectors.toMap) 的技巧分享

    Java8中List转Map(Collectors.toMap) 的技巧分享

    在最近的工作开发之中,慢慢习惯了很多Java8中的Stream的用法,很方便而且也可以并行的去执行这个流,这篇文章主要给大家介绍了关于Java8中List转Map(Collectors.toMap) 的相关资料,需要的朋友可以参考下
    2021-07-07
  • Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

    Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

    Spring Boot 3.4.3 结合Spring WebFlux实现SSE 功能,为实时数据推送提供了优雅的解决方案,通过本文的步骤,你可以快速搭建一个基于事件驱动的后端服务,满足实时通知或监控等需求,感兴趣的朋友一起看看吧
    2025-04-04
  • springboot 如何取消starter的自动注入

    springboot 如何取消starter的自动注入

    这篇文章主要介绍了springboot 如何取消starter的自动注入操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • maven项目在实践中的构建管理之路的方法

    maven项目在实践中的构建管理之路的方法

    这篇文章主要介绍了maven项目在实践中的构建管理之路的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Java 在Word中创建邮件合并模板并合并文本和图片的操作方法

    Java 在Word中创建邮件合并模板并合并文本和图片的操作方法

    通过Java程序展示如何来实现创建模板,并通过邮件合并功能来合并文本数据和图片数据的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07
  • Mybatis Log控制台如何输出打印SQL语句

    Mybatis Log控制台如何输出打印SQL语句

    这篇文章主要介绍了Mybatis Log控制台如何输出打印SQL语句,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java多线程实现阻塞队列的示例代码

    Java多线程实现阻塞队列的示例代码

    本文主要介绍了Java多线程实现阻塞队列的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • SpringBoot后端解决跨域问题的3种方案分享

    SpringBoot后端解决跨域问题的3种方案分享

    这篇文章主要给大家分享介绍了关于SpringBoot后端解决跨域问题的3种方案,跨域指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器施加的安全限制,需要的朋友可以参考下
    2023-07-07
  • Java使用Ajax异步上传文件

    Java使用Ajax异步上传文件

    使用Ajax上传文件的应用场景颇多,比如上传用户头像、博客文章中插入图片、对认证用户相关身份进行校验等等很多很多。本文提供一个简单的示例供大家参考
    2021-05-05

最新评论