Да, есть.
First вернет true, если ваша строка пуста.
Секунда всегда будет возвращать ложь.
Третий вернет true, если ваша строка определена именно так:
String myString = "";
Обратите внимание, что это не то же самое, что и в случае 1! Первый проверяет равенство значений, а второй - идентичность.
String myString = "";
String myOtherString = new String(myString);
assert myString == "";
assert myOtherString.equals("");
assert myOtherString != "";
Итог:
- использовать первый случай для сравнения строк,
- используйте
myString == null
для нулевых тестов,
- никогда не используйте третий!