【问题标题】:Realm joining list领域加入列表
【发布时间】:2017-03-03 19:39:07
【问题描述】:

我有列表 1,其中包含 ID(列表 ticketID)和列表 2:

List<Ticket> myTickets = realm.where(Ticket.class).equalTo("Status", "E").findAll();

现在我需要获取应该包含的新列表 (List&lt;Ticket&gt; newTickets) 状态为 E 的工单及其 ID 应在列表 1 中。

我可以通过这样做来实现:

for (Ticket ticket : mytickets) 
        if (ticketIDs.contains(ticket.TicketID))
            newTickets.add(ticket);

是否可以通过单个查询获取 newTickets(因为使用 forLoop 会导致性能问题,例如滚动卡在某些点)

【问题讨论】:

    标签: java android realm realm-mobile-platform


    【解决方案1】:

    为什么不使用RealmQuery.in()

    String[] strings = new String[ticketIds.size()];
    RealmResults<Ticket> results = realm.where(Ticket.class) 
                       .equalTo("Status", "E") 
                       .in("TicketID", ticketIds.<String>toArray(strings))
                       .findAll();
    

    【讨论】:

    • 抱歉延迟..如果我使用ticketIds.toArray() 它要求转换为原始类型...当我转换时说对象不能转换为原始类型
    • 实际上ticketIds是整数列表(List ticketIds
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多