p22.map1.remove(new String(String1));
ничего не удалит, потому что NewMap
является подклассом IdentityHashMap
.
Обновление
Я был не прав
1) Первая ошибка здесь - это метод void
, замаскированный под конструктор. Вот почему p22.map1
всегда пусто.
2) Вторым является NewMap
, что IdentityHashMap
. После того, как к нему добавлено 2 строки, его размер становится равным 2, поскольку, хотя эти строки равны, они не идентичны (==
).
3) p22.map1.remove(new String(String1));
не будет ничего делать, как я говорил ранее.