I have the code below and I faced a NullPointerException in getContactPersonSet()
method. I tried to solve it in this way but didn't work.
Optional<String> lawyerOrContractPerson;
lawyerOrContractPerson = raetsrelation.getContactPersonSet().stream()
.filter(Objects::nonNull).findFirst().map(contactPerson -> contactPerson.getFirstName() + " " + contactPerson.getLastName());
Do you have any idea, how can I avoid the NPE? With my solution, the filter only looks at the elements of the set, not the set itself. But how can I check the set itself?
Thanks in advance.
Exception:
Caused by: java.lang.NullPointerException
at com.raetsmarine.raetsbase3.domain.Claim.initClaimPartyLine(Claim.java:1174)
at com.raetsmarine.raetsbase3.domain.Claim.lambda$getRelations$1(Claim.java:1157)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.raetsmarine.raetsbase3.domain.Claim.getRelations(Claim.java:1162)
at com.raetsmarine.raetsbase3.domain.Claim.getClaimParties(Claim.java:1136)
... 123 more