String serviceClass = railsComponent
.getRailOffer()
.getRailProducts()
.get( 0 )
.getRailProduct()
.getFareBreakdownList()
.get( 0 )
.getPassengerFareList()
.get( 0 )
.getPassengerSegmentFareList()
.get( 0 )
.getCarrierServiceClassDisplayName();
this returns me valid serviceClass value.
I wanted to convert this code with the help of java8 stream concept.
I tried with below
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();
which is returning me value as java.util.stream.ReferencePipeline$3@5585427d .
Can someone tell me what am I doing wrong and how I get proper value in this case.