Давно я на java не писал, но что-то мне подсказывает, что там через операцию == строки нельзя сравнивать. Надо через метод equals. Дело в том, что строки могут быть одинаковыми, но при этом представлены разными объектами в памяти. Оператор == вернет false, если объекты разные, даже если контент у них одинаковый.