Java中的一个类型转换问题

本文详细介绍了Java中不同类型的转换方法,特别是Integer与Long之间的转换,包括如何通过Hibernate或ResultSetHandler查询返回的数据进行正确的类型转换,避免运行时错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Object转Integer

Java中hibernate或者ResultSetHandler查询sql语句, 返回的object类型其实是Long类型, 而不是Integer类型, 因此此时直接将返回的Object转换为Integer类型会抛出类型转换的错误. 我们必须先将其转换为Long类型, 再转换为Integer类型.

//int count = ((Integer)query.uniqueResult()).intValue();   
//改成   
int count = ((Number)query.uniqueResult()).intValue();   
//这样就可以两个版本同时兼容.

注: 可通过instanceof关键字判断object对象的真实类型.


二. Long与Integer类型互转

Java中引用类型之间的互相转换必须要有继承关系. 但Integer与Long类型之间没有继承关系. 因此它们之间是不可以直接进行转换的.

可通过如下方式转换:

1.将long型转化为int型,这里的long型是基础类型:

long   a = 10;    int b = (int)a;

2.将Long型转换为int 型的,这里的Long型是包装类型:

Long a = 10;    int b=a.intValue();

3.将int型转化为long型,这里的int型是基础类型:

int a = 10;    long b = (int)a;

4.将Integer型转化为long型,这里的Integer型是包装类型:

int a = 10;    Long b = a.longValue();

转载于:https://www.cnblogs.com/loongforever/p/8034780.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值