4
Почему коллекции Java были реализованы с помощью «дополнительных методов» в интерфейсе?
Во время моей первой реализации, расширяющей инфраструктуру Java-коллекции, я был очень удивлен, увидев, что интерфейс коллекции содержит методы, объявленные как необязательные. Ожидается, что разработчик выдаст исключение UnsupportedOperationException, если оно не поддерживается. Это сразу показалось мне плохим выбором дизайна API. Прочитав большую часть превосходной книги Джошуа Блоха «Эффективная Ява», а затем …