1 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
有時(shí)我覺得在 Java 8 出現(xiàn)之后,我們看到了同樣的“想要為所有事情使用流”的心態(tài),但是有了 Reactor / RXJava。
我應(yīng)該在 flux 或 mono map 操作中使用 java 流來遍歷和操作數(shù)據(jù)嗎?
簡(jiǎn)短的回答是,如果您可以明智地使用 Java 流,并且 Reactor 在這種情況下沒有提供任何優(yōu)勢(shì),那么就沒有理由使用 Reactor。當(dāng)用例需要時(shí),Reactor / 反應(yīng)式編程非常棒,但請(qǐng)記住,它是一個(gè)外部庫(未捆綁在核心 JRE 中),它比標(biāo)準(zhǔn) Java 流更復(fù)雜,更難被普遍理解。
Reactor 當(dāng)然要強(qiáng)大得多。如果您需要控制產(chǎn)生值的速度、背壓、詳細(xì)的發(fā)布者/訂閱者行為、多播、緩存、重試等,或者您可能在未來可行,那么它每次都會(huì)贏得勝利。
但是,如果您實(shí)際上只是過濾和映射現(xiàn)有的 Java 集合,就像您在該示例中那樣,反應(yīng)堆無法提供任何改進(jìn),我認(rèn)為沒有充分的理由不使用標(biāo)準(zhǔn) Java 流。
添加回答
舉報(bào)