Класс Preconditions
Гуавы определяется как:
public final class Preconditions {
private Preconditions() {}
private interface Impossible {}
// (static methods that are not using Impossible)
}
Я понимаю, что неиспользуемый приватный конструктор предотвращает создание экземпляра класса , но я никогда раньше не видел неиспользуемого приватного интерфейса. Это также не интерфейс маркера, поскольку не существует класса, реализующего Impossible
. Имеет ли этот интерфейс какую-либо цель?
Исходный код Guava зеркально отражается внутри Google, а некоторые API-интерфейсы отфильтровываются из версии с открытым исходным кодом. Impossible
используется в некоторых из них. (Предположительно, его тоже следует отфильтровать, но он был пропущен.)
Отправлено исправление: github.com/google/guava/commit/…
возможно, вам нужен Кевин Буррилион, автор (в конечном итоге использованный Reflection или чем-то еще, или просто забытый код)