关于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异常处理详解
在Spring Boot应用的开发中,不管是对底层数据库操作,对业务层操作,还是对控制层操作,都会不可避免的遇到各种可预知的,不可预知的异常需要处理,如果每个处理过程都单独处理异常,那么系统的代码耦合度会很高,工作量大且不好统一,以后维护的工作量也很大2022-10-10
SpringBoot工程打包后执行Java -Jar就能启动的步骤原理
这篇文章主要介绍了SpringBoot工程打包后为何执行Java -Jar就能启动,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-05-05


最新评论