-4
String serviceClass = railsComponent
.getRailOffer()
.getRailProducts()
.get(0)
.getRailProduct()
.getFareBreakdownList()
.get(0)
.getPassengerFareList()
.get(0)
.getPassengerSegmentFareList()
.get(0)
.getCarrierServiceClassDisplayName();
這會返回我有效的serviceClass值。java8中用於多個獲取方法的流的使用
我想轉換此代碼與java8流概念的幫助。
我試着用下面
String serviceClass = railsComponent.getRailOffer().getRailProducts().stream()
.map(railProcucts -> railProcucts.getRailProduct().getFareBreakdownList().stream()
.map(fareBreakdownType -> fareBreakdownType.getPassengerFareList().stream()
.map(passengerFareType -> passengerFareType.getPassengerSegmentFareList().stream()
.map(segmentFareType -> segmentFareType.getCarrierServiceClassDisplayName())))).findFirst().orElse(null).toString();
這是我返回值作爲[email protected]。
有人能告訴我我做錯了什麼,以及我在這種情況下如何獲得適當的價值。
這不是你問的問題,但是如果你在空的時候調用'toString()',這裏的null情況絕對會拋出'NullPoiinterException'。 'findFirst()。orElse(null).toString();' – Todd
爲什麼你想在這裏使用流? –
我想避免多個空檢查。所以試圖使用這個。 –