最近在项目里遇到将某一个字段的数据封装到变量的问题,用到了ScalarHandler。
ScalarHandler的作用是将数据库中某一个字段的数据封装成一个Object对象。发现大部分情况都是将Object结果转成包装类Long再取intValue()的方法转为int,于是我试了以下方法,发现也都可以转为int。故推测,面对较大的数据量的时候直接转int、Integer可能会丢失数据,故直接先cast(强转)为Long。
使用第一个,结果运行时报异常:
即实际得到的Object对象是Long型的,无法强转Integer。故需要先转为Long,再调用intValue()方法取int值。