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