问题描述
大家好,我为这个简单的问题所困扰。
我的代码:
Array a = rs.getArray("my_field");
int[] b = (int[])a.getArray();
显示的异常:
java.lang.classCastException: class [Ljava.lang.Integer; cannot be cast to class [I ([Ljava.lang.Integer; and [I are in module java.base of loader 'bootstrap')
如何将java.sql.Array转换为int []数组或数组列表?
解决方法
您需要将其强制转换为Integer
的数组:
Array a = rs.getArray("my_field");
Integer[] b = (Integer[])a.getArray();
请注意,如果数据库中的列为a
,则null
将是null
,因此应在调用a.getArray()
之前进行检查。