1.Optional.ofNullable(test),如果test為空,則返回一個(gè)單例空Optional對(duì)象,如果非空則返回一個(gè)Optional包裝對(duì)象,Optional將test包裝;
2.flatMap(Test::getTest3)判斷test是否為空,如果為空,繼續(xù)返回第一步中的單例Optional對(duì)象,否則調(diào)用Test的getTest3方法;
3.flatMap(Test3::getTest2)同上調(diào)用Test3的getTest2方法;
4.map(Test2::getInfo)同flatMap類似,但是flatMap要求Test3::getTest2返回值為Optional類型,而map不需要,flatMap不會(huì)多層包裝,map返回會(huì)再次包裝Optional;
5.orElse("");獲得map中的value,不為空則直接返回value,為空則返回傳入的參數(shù)作為默認(rèn)值。