Нельзя выполнять проверку с помощью оператора "==", так как он сравнивает ссылки, а не сами объекты. Правильным условием было бы
if (myPass.equals(typepass)) { /* ... */ }
Точнее сказать, оператор "==" сравнивает простые типы, т.е. byte, short, int, long, float, double, char, а также ссылки, а для объектов нужно применять функцию equals, определённую в классе java.lang.Object, от которого наследуются все остальные классы
Также стоит помнить, что классы-обёртки над простыми типами не являются простыми (т.е. объекты типа Integer (а также Byte, Short, Long, Char, Float и Double) -- это именно экземпляры класса, которые надо сравнивать на равенство с помощью equals)
Кстати, вместо new String("supermegalogic")
можно написать "supermegalogic"
Так как при явном вызове конструктора на самом деле создаётся 2 эквивалентных объекта, а также явный вызов немного ухудшает читаемость кода