Java 为什么我的反应式编程示例只打印可观察对象,而不打印其值?

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)

我用IntelliJ运行这个程序。这是输出:
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>