Разница между нулевой и пустой («») строкой Java

В чем разница между nullи ""(пустая строка)? Я написал простой код: String a = ""; String b = null; System.out.println(a == b); // false System.out.println(a.equals(b)); // false Оба утверждения возвращаются false. Кажется, я не могу найти, какова реальная разница между...