Mercury13, вот и подошли к сути: почему Object1 == Object2 дает false (ответ: потому мы сравниваем ССЫЛКИ), но когда мы сравниваем ссылки String, такое сравнение работает и дает true. Почему? Чем String, в данном случае, отличается от Object?
Спасибо вам большое, но я еще не дошел до java.util.Scanner, учусь по книжке Шилдта, там приведен этот пример. Я обновил вопрос: странность заключается в том, что второй абсолютно аналогичный пример работает!