在HazlecastMap上返回SQLPredicate的类型

时间:2014-08-05 12:45:18

标签: java hazelcast

hazelcast地图上的SQLPredicate是否返回Set(根据文档)或arraylist?我正在使用v3.2.4客户端和服务器。客户端连接到服务器并进行以下调用(这在单个服务器上运行,但现在我正在使用客户端,我不确定导致问题的原因)。

Predicate testPredicate = equal("testGroupID", 101);  //testGroupID is attribute 
Set<testObj> testInstances = (Set<testObj>)testMap.values(testPredicate); 

我在第二行收到以下异常:

Java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set

1 个答案:

答案 0 :(得分:1)

您没有使用SQLPredicate,而是Predicates.equal。然而,这是一个侧面点。重点是API

Collection<V> values(Predicate predicate)

所以,没有提到values()返回Set,实际上你没有得到Set

最后,由于地图可以合法地具有重复值,因此您可能想要返回Set