如果您查看文档,您将在下一句中看到:
Allows hiding extra features such as Subject’s Observer methods or preventing certain identity-based optimizations (fusion).
一个例子是:
PublishSubject objectPublishSubject = PublishSubject.create();
Observable hide = objectPublishSubject.hide();
假设您在内部使用PublishSubject,并且希望将Observable传递给外部世界.由于信息隐藏,这将是一个好主意.来自外部的调用者无法在Observable上调用#onNext().因此,您可以使用Observable作为方法的返回值,只返回PublishSubject.这是可能的,但是调用者可以投射它并且能够从外部调用#onNext().
Observable#hide从PublishSubject创建一个新的Observable,因此不可能进行转换.