首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cqengine IndexedCollection添加导致空指针

cqengine IndexedCollection添加导致空指针
EN

Stack Overflow用户
提问于 2016-11-03 15:56:36
回答 1查看 454关注 0票数 0

当我将元素添加到IndexedCollection中时,我现在得到了这个错误:

代码语言:javascript
复制
HIGHEST: null
java.lang.NullPointerException
    at java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:778)
    at java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1546)
    at com.googlecode.cqengine.index.support.AbstractMapBasedAttributeIndex.addAll(AbstractMapBasedAttributeIndex.java:81)
    at com.googlecode.cqengine.engine.CollectionQueryEngine$12.perform(CollectionQueryEngine.java:1125)
    at com.googlecode.cqengine.engine.CollectionQueryEngine.forEachIndexDo(CollectionQueryEngine.java:1206)
    at com.googlecode.cqengine.engine.CollectionQueryEngine.addAll(CollectionQueryEngine.java:1122)
    at com.googlecode.cqengine.ConcurrentIndexedCollection.add(ConcurrentIndexedCollection.java:351)

我尝试过调试,以查看是否传递空值,但我没有。我要添加的对象有一个空DateTime,但是当它为空时,相应的索引已经返回null。

我认为这个问题的解决方案最终取决于经验,@npgall你曾经遇到过这个问题吗?如果是的话,你是如何解决的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-04 15:55:18

我认为这一地区的网站上缺乏文件。它提到了SimpleNullableAttributeMultiValueNullableAttribute,但并没有真正解释何时使用它们。

TL;DR是:如果您获得NPE,它通常意味着您需要使用一个可空属性。

或者更准确地说:如果您的数据可能包含空值,那么您需要使用一个可空属性(例如SimpleNullableAttribute),而不是非空属性(例如SimpleAttribute)。

无论如何,我已经扩展了主Readme.md上的文档,以更详细地讨论“空值”。希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40406059

复制
相关文章

相似问题

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