JavaJava中的一个类型转换问题

一.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类型之间一直不持续关系. 由此它们之间是不可以间接举行更换的.

可经过如下格局转换:

Java,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();

相关文章