【问题标题】:how to convert java.sql.Array to an integer array如何将 java.sql.Array 转换为整数数组
【发布时间】:2021-02-10 17:35:58
【问题描述】:

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

我正在尝试从我的 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[] 数组或 arraylist?

【问题讨论】:

  • 与您的问题无关,但是:Postgres 9.3 是no longer supported,您应该尽快计划升级。

标签: java arrays postgresql postgresql-9.3


【解决方案1】:

您需要将其转换为 Integer 的数组:

Array a = rs.getArray("my_field");
Integer[] b = (Integer[])a.getArray();

请注意,如果数据库中的列是 nulla 将是 null,因此您应该在调用 a.getArray() 之前检查它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多