".equals()" tests for value equality (whether they are logically "equal").
Objects.equals() checks for nulls before calling .equals() so you don't have to check null
Consequently, if you want to test whether two strings have the same value you will probably want to use Objects.equals().
// These two have the same value new String("test").equals("test") // --> true // ... but they are not the same object new String("test") == "test" // --> false // ... neither are these new String("test") == new String("test") // --> false // ... but these are because literals are interned by // the compiler and thus refer to the same object "test" == "test" // --> true // ... but you should really just call Objects.equals() Objects.equals("test", new String("test")) // --> true Objects.equals(null, "test") // --> falsehttps://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java