Почему класс Preconditions Guava содержит частный, пустой и неиспользуемый интерфейс?

Класс PreconditionsГуавы определяется как:

public final class Preconditions {
  private Preconditions() {}

  private interface Impossible {}

  // (static methods that are not using Impossible)
}

Я понимаю, что неиспользуемый приватный конструктор предотвращает создание экземпляра класса , но я никогда раньше не видел неиспользуемого приватного интерфейса. Это также не интерфейс маркера, поскольку не существует класса, реализующего Impossible. Имеет ли этот интерфейс какую-либо цель?

возможно, вам нужен Кевин Буррилион, автор (в конечном итоге использованный Reflection или чем-то еще, или просто забытый код)

user85421 11.07.2024 20:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Исходный код Guava зеркально отражается внутри Google, а некоторые API-интерфейсы отфильтровываются из версии с открытым исходным кодом. Impossible используется в некоторых из них. (Предположительно, его тоже следует отфильтровать, но он был пропущен.)

Отправлено исправление: github.com/google/guava/commit/…

Louis Wasserman 12.07.2024 05:32

Другие вопросы по теме