Using Java 8:
private static Comparator<String> nullSafeStringComparator = Comparator
.nullsFirst(String::compareToIgnoreCase);
private static Comparator<Metadata> metadataComparator = Comparator
.comparing(Metadata::getName, nullSafeStringComparator)
.thenComparing(Metadata::getValue, nullSafeStringComparator);
public int compareTo(Metadata that) {
return metadataComparator.compare(this, that);
}
Or you can also use the below method below using Java
public static boolean compare(String first, String second) { return(Objects.isNull(first) ? Objects.isNull(second) : first.equals(second)); }
public static boolean compare(String first, String second) {
return(Objects.isNull(first) ? Objects.isNull(second) :
first.equals(second));
}