
fi.evolver.utils.OptionalUtils Maven / Gradle / Ivy
package fi.evolver.utils;
import java.util.Arrays;
import java.util.Optional;
import java.util.stream.Stream;
public class OptionalUtils {
private OptionalUtils() { }
@SafeVarargs
public static Optional getFirst(Optional extends T>... optionals) {
return stream(optionals).findFirst();
}
public static boolean equalBothPresent(Optional optional1, Optional optional2) {
if (!optional1.isPresent() || !optional2.isPresent())
return false;
return optional1.get().equals(optional2.get());
}
@SafeVarargs
public static Stream stream(Optional extends T>... optionals) {
return Arrays.stream(optionals)
.filter(Optional::isPresent)
.map(Optional::get);
}
public static > int compareEmptyLast(Optional optional1, Optional optional2) {
if (optional1.isPresent() && optional2.isPresent())
return optional1.get().compareTo(optional2.get());
if (optional1.isPresent() != optional2.isPresent())
return optional1.isPresent() ? -1 : 1;
return 0;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy