Java 为什么我的反应式编程示例只打印可观察对象,而不打印其值?
我用IntelliJ运行这个程序。这是输出:Java 为什么我的反应式编程示例只打印可观察对象,而不打印其值?,java,rx-java,reactive-programming,reactivex,Java,Rx Java,Reactive Programming,Reactivex,我用IntelliJ运行这个程序。这是输出:rx.internal.util。ScalarSynchronousObservable@5d17d83b。我希望数组中的名称被读取为流。诚然,这是一个非常简单的例子,但我在这里不明白什么 我的Maven构建配置:exec:java-Dexec.mainClass=ReactiveExample 依赖项: public class ReactiveExample { public static void main(String[] args)
rx.internal.util。ScalarSynchronousObservable@5d17d83b
。我希望数组中的名称被读取为流。诚然,这是一个非常简单的例子,但我在这里不明白什么
我的Maven构建配置:exec:java-Dexec.mainClass=ReactiveExample
依赖项:
public class ReactiveExample {
public static void main(String[] args) throws InterruptedException, NumberFormatException, UnsupportedEncodingException {
String[] names = new String[] {"Mac", "John", "Ben"};
Observable.from(names).subscribe(s -> System.out.println("Hello " + s + "!"));
}
}
io.reactivex
rxjava
1.1.6
谢谢。我太相信我的IDE了。简化.toString()
表达式将打印对象和散列代码,但保留它会在打印正确值时抛出冗余警告。所以Observable.from(names).subscribe(s->System.out.println(“Hello”+s.toString()+“!”)代码>如果我使用你的代码,我会打印Mac、John、Ben。你的代码运行良好,只需以相同的依赖关系将其复制/粘贴到我的IDE中即可。你一定做了些不同的事情。
<dependencies>
<dependency>
<groupId>io.reactivex</groupId>
<artifactId>rxjava</artifactId>
<version>1.1.6</version>
</dependency>
</dependencies>