flatmap不是像map那样把数组映射成单独一个流{streama,streamb},而是把数组中的每一个值映射成一个值a,b..,最后合并所有的值变成一个流,实现流的扁平化,还有一个区别flatmap返回值必须是Optional<>,而map返回值可以是任何类型,会有嵌套,比如Optional<Optional<>>。