I'm looking for a succinct way to rewrite a piece of Java code so that it uses streams to convert an array to a list in a null-safe fashion. Here's the original code:
public MailObject toMailObject(final String[] ccAddresses) {
final MailObject mailObject = new MailObject();
// line of code to be altered
mailObject.setCcAddresses(ccAddresses == null
? Collections.emptyList() : Arrays.asList(ccAddresses));
// other necessary code
return mailObject;
}
I've thought of doing something like this:
// psuedocode that obviously doesn't compile
Optional.ofNullable(ccAddresses).SOMETHING.orElse(Collections.emptyList());
where SOMETHING would be along the lines of:
Arrays.stream(ints).collect(Collectors.toList());
but I can't seem to get the syntax quite right.
This question was helpful but didn't exactly address my issue. Could anyone point me in the right direction? I feel like I'm close...
Thank you very much for your time.