这是一段代码
@Test
public void test_mono_void_mono_empty() {
Mono.just("DATA")
.flatMap(s -> Mono.just(s.concat("-")
.concat(s))
.doOnNext(System.out::println)
.then())
.switchIfEmpty(Mono.just("EMPTY")
.doOnNext(System.out::println)
.then())
.block();
}
这将向控制台提供以下结果:
DATA-DATA
EMPTY
这意味着第一个平面地图
中的链被识别为空链。
另一方面,Reactor具有以下类MonoEmpty,该类由Mono返回。empty()方法。除此之外,该方法还包括以下内容:
/**
* Create a {@link Mono} that completes without emitting any item.
*
* <p>
* <img class="marble" src="doc-files/marbles/empty.svg" alt="">
* <p>
* @param <T> the reified {@link Subscriber} type
*
* @return a completed {@link Mono}
*/
public static <T> Mono<T> empty() {
return MonoEmpty.instance();
}
没有发出任何项,但我用then()
方法发出了类型化对象。
对此有何解释?
给定的单声道可以不发布任何内容,也可以在发送完成信号之前发布单个值。(它不能发布null-被动规范禁止它。)Mono的泛型类型表示可能被发射的对象的类型,但不能保证它会被发射。
A单声道
有两种常见的情况下可能不会发布某个值—第一种情况是某个值是否存在(例如在数据库或集合中搜索某个项)。在这种情况下,您仍然可以使用单声道
单声道的原因
因此,合乎逻辑的结论是,Mono类型的发布者
好的,答案在官方的java文档中,它说Void类是一个不可实例化的占位符类,用于保存对表示Java关键字val
的Class对象的引用。
这意味着它的主要思想只是将void返回类型表示为一个类,并包含一个类
有用的讨论:Java泛型ulid/Void类型
对于这个程序,它要求用户输入他们的全名。然后,它通过在名字和姓氏之间的空格处将它们分开来排序名字和姓氏。但是,indexOf()无法识别空格并且只返回-1。为什么?谢谢。 以下是PracticeIt的提示: 编写一个名为process Name的方法,该方法接受控制台的Scanner作为参数,并提示用户输入他或她的全名,然后以相反的顺序打印名称(即姓氏、名字)。您可以假设只会给出名字和姓氏。您应该
有25种类型的空白。在下面的代码中显示,25种类型中有4种在Java中不被视为空白。为什么? 参考-https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/character.html#IsWhitespace(char)
为什么会这样?并不是说我绝对需要一个测试方法,我只是好奇而已。当您生成测试方法时,Visual Studio 2012不会给出警告或错误,即使它将无法运行。..
在我的新MacBook中,我安装了最新的Android Studio。然后,在终端中,我创建了.bash_profile,并在文件中添加了以下行: 之后,我运行命令,然后我键入命令,但得到一个错误,adb未被识别为命令。为什么?我也,我看到Android sdk的目录在那里 ====== 更新 有趣的是,如果我这样做,它的工作原理: 为什么?上面的不是与相同吗?为什么我原来的剧本不管用,但上面的剧
我有以下代码,没有编译: 其中返回。 它不识别< code>asScala方法。将导入< code > Scala . JDK . future converters . _ 库。我做错了什么?
问题内容: 我有Ubuntu 10.10和apache2,php 5.3.3-1和mysql 5.1。 我正在通过URL向页面传递一些值。在该页面上,如果我这样做了,那么我会看到数组的内容。但是,如果我这样做数组是空的。任何想法为什么会这样? 问题答案: 也可以尝试检查php.ini中的“ request_order” 选项: