Java中怎么把long类型转换成int

由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况:

主要以下几种转换方法,供参考:

一、强制类型转换

long ll = 300000;  
​
int ii = (int)ll;

二、调用intValue()方法

long ll = 300000;  
​
int ii= new Long(ll).intValue();

三、先把long转换成字符串String,然后在转行成Integer

long ll = 300000;  
​
int ii = Integer.parseInt(String.valueOf(ll));

这三种方法都比较简单明了。

### 将 `Long` 类型转换为 `int` 类型的方法 在Java中,可以使用多种方法将 `Long` 对象或基本数据类型 `long` 换为 `int`。以下是几种常见的方式: #### 使用 `intValue()` 方法 对于 `Long` 对象而言,可以直接调用其内置的 `intValue()` 方法来完这一操作。此方法返回该对象所表示的原始值作为 `int` 型。 ```java // 创建一个 Long 实例 Long ob2 = new Long(123L); // 输出换后的 int 值 System.out.println("ob2.intValue(): " + ob2.intValue()); ``` 这段代码展示了如何创建一个 `Long` 的实例并将其 `int` 后打印出来[^3]。 #### 自动拆箱机制 当从 `Long` 到 `int` 进行赋值时,如果左边是一个 `int` 变量而右边是一个 `Long` 对象,则会发生自动拆箱过程——即将 `Long` 对象为其对应的原始类型 `long`,然后再截断至 `int` 大小。 ```java Long longObj = 987654321L; int num = longObj; // 自动拆箱发生在这里 System.out.println(num); ``` 需要注意的是,在这种情况下可能会丢失精度,因为 `long` 是64位有符号整数,而 `int` 只是32位;因此超出 `int` 表达范围的部分会被裁剪掉[^4]。 #### 显式的强制类型转换 也可以通过显式地指定 `(int)` 来进行强。不过同样要注意可能存在的溢出风险。 ```java long largeNumber = 2_000_000_000L * 2L; try { int smallNum = (int)largeNumber; } catch(Exception e){ System.err.println(e.getMessage()); } ``` 这里尝试把两个大数值相乘的结果强行塞入到较小的空间里去存储,这通常不是一个好主意除非确实知道这样做不会引起任何问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java小白笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值