Совершенно возможно, что это решение было принято, даже не задумываясь об этой совершенно новой возможности, а просто следуя установленному шаблону с двадцатью годами.
Кроме того, можно обсудить, действительно ли полезно добавить к интерфейсу от 25 до 30 static
методов. Имеет смысл предложить несколько заводов для канонических реализаций, но вы должны нарисовать линию где-нибудь. Невозможно добавить фабрики к всем реализациям интерфейса, просто потому, что они предлагаются одной и той же библиотекой. Но эта дискуссия была бы вне темы.
Кроме того, Spliterators
предлагает не только методы static
, но и вложенные классы. В отличие от методов static
, эти классы будут загрязнять пространство имен каждого класса реализации при определении в interface
.
Collectors
10 и Spliterators
могут также содержать методы, отличные от реализации, а неи даже поля.
Я согласен, и я бы добавил: см. Принцип * «SOLID» *, он сломал как принцип * S *: принцип единой ответственности, так и принцип разделения I * интерфейса – pdem
Примечание: частные методы разрешены в интерфейсе, поскольку 9 –
Да, летучая мышь теперь Java 8 является основным языковым уровнем :) – MateuszW90