Search⌘ K
AI Features

Solution: The Email Sanitizer

Explore how to implement an email sanitizer in Java using functional programming concepts. Learn to process input lists with Streams, removing nulls and empty strings, trimming whitespace, and normalizing case. This lesson helps you write clean, safe, and efficient data transformations using lambdas and Stream API.

We'll cover the following...
Java 25
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.Objects;
public class EmailSanitizer {
public static List<String> sanitizeEmails(List<String> rawEmails) {
return rawEmails.stream()
// Remove nulls first to avoid NullPointerException
.filter(email -> email != null)
// Trim whitespace from the remaining strings
.map(String::trim)
// Remove strings that became empty after trimming
.filter(email -> !email.isEmpty())
// Convert to lowercase for consistency
.map(String::toLowerCase)
// Collect the results back into a List
.collect(Collectors.toList());
}
public static void main(String[] args) {
List<String> rawData = Arrays.asList(
" john.doe@Example.com ",
null,
"",
"JANE.SMITH@work.org",
" ",
"admin@Internal.net"
);
List<String> cleanData = sanitizeEmails(rawData);
System.out.println("Original list size: " + rawData.size());
System.out.println("Clean list size: " + cleanData.size());
System.out.println("Cleaned Emails: " + cleanData);
}
}
...