Вместо Comparator, который возвращает целое число, лучше написать свой собственный метод, который возвращает строковый вывод, как вам нужно.
public String compareVersion(String version1, String version2) {
System.out.println(version1.compareTo(version2));
if(version1 == null || version2 == null ) {
return null; //change acc your requirement
}
if(version1.equals(version2)) {
return "";
}
String[] verArr1 = version1.split(" ");
String[] verArr2 = version2.split(" ");
if(verArr1[0].equals(verArr2[0])) {
if(version1.compareTo(version2) == 1) {
return version1 + " is higher version";
}
else {
return version2 + " is higher version";
}
}
else {
return "Mismatch";
}
}
Основной метод
public static void main(String[] args) {
StringComparator stringComparator = new StringComparator();
System.out.println(stringComparator.compareVersion("LinuxBOS 1.0.2", "LinuxAOS 2.1.0"));
}