当前位置: 首页 > 知识库问答 >
问题:

如何使用StartWith()rx运算符,但仅在序列不为空时使用?

勾向文
2023-03-14

我有一个可观察的rx,我需要添加一个特定的项目,但只有当可观察发出至少一个项目。

我仔细检查了所有的操作员,但找不到合适的。最接近的是StartWith,但根据图表,它会立即发出项目,并且不会统计下一个项目。

是否可以通过与其他一些操作员相结合来实现这一点?谢谢。

共有1个答案

井嘉胜
2023-03-14

我一直在尝试做同样的事情,我唯一想到的是不是很被动:

    Observable.just(1, 2, 3)
    .toList()
    .flatMap(items -> {
      if (items.size() > 0) {
        items.add(0, 0);
      }
      return Observable.from(items);
    })

它远非完美,在可观察到的“热”情况下不起作用。

 类似资料:
  • 问题内容: 我有一个发送到服务器或从服务器发送的用户对象。发送用户对象时,我不想将哈希密码发送给客户端。因此,我添加了password属性,但是这也阻止了将其反序列化为密码,这使得在没有密码的情况下很难注册用户。 我怎样才能只应用序列化而不是反序列化?我使用的是Spring JSONView,因此对的控制不多。 我尝试过的事情: 添加到属性 仅添加getter方法 问题答案: 确切的操作方法取决于

  • 问题内容: 我试图了解表运算符。 这是示例: 我的主要障碍是了解 何时 使用。 所以我想知道使用in实现的结果与上述相同将有多困难? 是否会使查询更短或更易读? 如果该示例没有显示使用的巨大优势,那么什么是使用显着的优势呢? 问题答案: 首先-可以调用 表值函数 ,其中参数值是从查询的表中获取的,如下所示: 或 切碎xml列 根据我的经验,当您需要进行一些 预先计算 时,它非常有用: 使用的另一个

  • 我想要的是Hibernate生成1条语句删除所有子级的方法,而不是每个子级1条语句。 如果实体a和B之间存在关系,其中a是父对象,B可以是多个子对象。如果我在实体关系上使用注释,如OrphanRemoving或OnCascade delete,那么当我删除父对象时,自动生成的sql会显示 我想让Hibernate做的是生成SQL 是否有一个注释或设置我可以用来轻松做到这一点? 我觉得我不是第一个遇

  • 问题内容: 我有一个简单的SQL查询,该查询在go的数据库/ sql软件包提供的QueryRow方法内。 但是,我收到错误消息看来代码不明白那个仅仅是一个占位符。我怎样才能解决这个问题? 问题答案: PostgreSQL 本机使用带编号的占位符(,…),而不是通常的位置问号。Go接口的文档在其示例中还使用了数字占位符: 似乎Go接口没有像许多接口那样将问号转换为带编号的占位符,因此问号一直到数据库

  • 我有如下疑问, 我通过如下传递值来调用服务方法。 但它回来了。。。[] 帮助我为什么我没有得到值,而是得到了空列表。 附言:我检查了日志,它的语句是创建的,没有任何问题

  • 问题内容: 我正在尝试在Dropwizard上使用MYSQL JDBI进行IN查询(我认为不相关)。 如这里的建议,我还用 但是,当我启动应用程序时,出现以下错误: 有谁对解决这个问题有个好主意? 问题答案: 有两种方法可以实现它。 1 。使用 该注释期望StringTemplate中具有SQL语句的组文件 说我有这个文件PersonExternalizedSqlDAO 由于我们正在使用,因此必须