При прокрутке документации для пакета java.util я был сузирован, обнаружив, что Optional<T>
и OptionalInt
не имеют отношения друг другу. Это, кажется, очень трудно поверить, так как это говорит о том, что они не связаны между собой классами.
- Почему у них нет общего интерфейса, класса, это подтипы или что-то, чтобы выявить отношения, которые у них есть? (Они очень похожие классы, когда вы смотрите на их использование.)
- Кроме того, зачем нужен дополнительный класс
OptionalInt
? Почему вы не можете использоватьOptional<Integer>
? Я думал, что это связано с тем, чтоint
является примитивным, но нетOptionalChar
, поэтому это будет непоследовательный выбор дизайна.