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
答案 0 :(得分:1)
您没有使用SQLPredicate
,而是Predicates.equal
。然而,这是一个侧面点。重点是API:
Collection<V> values(Predicate predicate)
所以,没有提到values()
返回Set
,实际上你没有得到Set
。
最后,由于地图可以合法地具有重复值,因此您可能想要返回Set
。