0

我需要添加如下功能。我的情况是我将获得一张地图,其中包含用于过滤谷歌数据存储中数据的字段。我需要它作为 query.filter().filter()..... 基于地图大小。这是代码;我不明白如何根据过滤器的大小在最后附加另一个过滤器

public List<T> listByProperty(Map<String,String> map)
{
    Query<U> query = ofy().load().type(entityObjectifyRootClass);

    for(Map.Entry<String,String> entry :map.entrySet()) {
        //here i need to append filter(entry.getKey(),ventry.getValue())method to query
        // like query.filter("SDAf","sdf").filter("ert","erw").......
    }   

    //query.filter(propName, propValue).;
    return asList(query.fetch());
}

对不起我的英语不好。

4

1 回答 1

0

您不能根据需要将任何函数附加到另一个函数。

在您的情况下,以下语句有效,因为 load 正在返回一个对象,该对象具有称为类型的方法。

ofy().load().type(entityObjectifyRootClass);

过滤器类只是将过滤器属性添加到给定的查询对象,并且它不返回任何内容。因此你不能那样做。

因此,解决您想要的问题的一种方法是使用这样的东西。

query.filter("SDAf","sdf")
query.filter("ert","erw")
于 2013-05-01T07:57:24.173 回答