Я хочу показать, изменились ли два объекта String или нет. Как вы думаете, следующий код? Мне кажется, это не так плохо. Но мне интересно, может ли другой подход быть более изощренным?
EXPECTED RESULT
--------------------------
1:changed
2:changed
3:changed
--------------------------
package com.javastudy;
public class StringCompareBeforeToAfter {
private static boolean isChanged(String before, String after) {
if(before != null && after == null || before == null && after != null){
return true;
}
if(before != null && !before.equals(after)){
return true;
}
return false;
}
public static void main(String[] args) {
String before1 = null;
String after1 = "a";
if(isChanged(before1, after1)){
System.out.println("1:changed");
}
String before2 = "a";
String after2 = null;
if(isChanged(before2, after2)){
System.out.println("2:changed");
}
String before3 = "a";
String after3 = "b";
if(isChanged(before3, after3)){
System.out.println("3:changed");
}
String before4 = null;
String after4 = null;
if(isChanged(before4, after4)){
System.out.println("4:changed");
}
String before5 = "a";
String after5 = "a";
if(isChanged(before5, after5)){
System.out.println("5:changed");
}
}
}