首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java Postgresql驱动程序是否支持数组数据类型,获取NullPointerException

Java Postgresql驱动程序是否支持数组数据类型,获取NullPointerException
EN

Stack Overflow用户
提问于 2018-06-14 23:07:32
回答 1查看 177关注 0票数 0

我正在使用Postgres 9.3,我得到的Java数据库驱动程序如下

try {
    Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
    System.err.println("Couldn't load org.postgresql.Driver");
    System.exit(1);
}

然后我就做了:

  Array urlData = rs.getArray("urls");
  String[] urls = (String[]) urlData.getArray();

但由于urlData为null,最后一行出现NullPointerException错误

为什么这是因为,阵列不支持Postgresql,本教程未说明Mysql不支持

https://docs.oracle.com/javase/tutorial/jdbc/basics/array.html

或者它只是null,因为没有特定行的urls数据?

尝试使用答案中建议的getObject失败,错误为

Exception in thread "main" java.lang.AbstractMethodError: Method org/postgresql/jdbc4/Jdbc4ResultSet.getObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; is abstract
        at org.postgresql.jdbc4.Jdbc4ResultSet.getObject(Jdbc4ResultSet.java)
        at com.jthink.jthinksearch.index.indexer.discogs.ArtistIndex.documentFromResultSet(ArtistIndex.java:209)
        at com.jthink.jthinksearch.index.indexer.discogs.ArtistIndex.indexData(ArtistIndex.java:176)
        at com.jthink.jthinksearch.index.indexer.IndexBuilder.buildDatabaseIndex(IndexBuilder.java:226)
        at com.jthink.jthinksearch.index.indexer.IndexBuilder.buildIndex(IndexBuilder.java:151)
        at com.jthink.jthinksearch.index.indexer.IndexBuilder.main(IndexBuilder.java:119)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-14 23:11:57

我想是因为,所以它才是null,因为没有特定字段的urls的数据-

要解决您的问题,您可以使用:

Array urlData = rs.getArray("urls");
String[] urls = urlData != null ? (String[]) urlData.getArray() : null;//or a default value
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50860641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档