一.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();