如何将 java.sql.Array 转换为整数数组

how to convert java.sql.Array to an integer array

大家好,我被这个简单的问题困住了。

我正在尝试从我的 Postgres 数据库中加载一个整数数组。

我的代码:

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

请注意,如果数据库中的列为 null,则 a 将为 null,因此您应该在调用 a.getArray().

之前进行检查