I want to compare two strings for equality when either or both can be null.
So, I can\'t simply call .equals() as it can contain null<
OK, so what does "best possible solution" mean?
If you mean most readable, then all the possible solutions are pretty much equivalent for an experienced Java programmer. But IMO the most readable is this
public boolean compareStringsOrNulls(String str1, String str2) {
// Implement it how you like
}
In other words, hide the implementation inside a simple method that (ideally) can be inlined.
(You could also "out-source" to a 3rd party utility library ... if you already use it in your codebase.)
If you mean most performant, then:
null arguments,