2017-06-16 86 views
1

有没有什么方法可以找到所有(或者仅仅是下一个)带有Strings按字典顺序大于目标的字符串?Realm字符串大于

喜欢的东西

MyEntry next = realm.where(MyEntry.class) 
     .greaterThan("name", current) 
     .findAllSorted("name") 
     .first(); 

,没有工作,因为greaterThan没有为String小号实施。

+2

创建https://github.com/realm/realm-java/issues/5078 –

回答

1

作为非DB-解决方法,您可以使用

List<MyEntry> l = realm.where(MyEntry.class) 
    .findAllSorted("name"); 
int pos = l.indexOf(entryWithName); 
MyEntry next = l.get((pos+1)%l.size()); 

这确实分贝之外的搜索。可能不如表现良好,并且不可读,但它应该起作用。

+1

不错的解决方案,我喜欢它。我不知道更好的一个。 – EpicPandaForce