Как упоминалось здесь в репозитории PyInstaller, PyInstaller, похоже, изначально не включает драйверы для Selenium.
Обходной путь, кажется, должен явно указать, были ли установлены драйверы.
Здесь способ сделать это
Позвольте мне задать вам вопрос: имеет ли смысл иметь a.compareTo (b)
, возвращать 0 и a.equals (b)
return false
?
Я бы вместо этого использовал Comparator
. Вот почему все известные мне реализации SortedMap
/ SortedSet
позволяют передавать компаратор
при создании.
Из Javadoc for Comparable
Настоятельно рекомендуется (хотя и не требуется), чтобы естественные заказы были в соответствии с равными. Это так потому что отсортированные наборы (и отсортированные карты) без явных компараторов ведут себя « странно », когда они используются с элементы (или ключи), чьи естественные упорядочение несовместимо с equals
Если вы хотите, чтобы CompareTo несовместимо с equals (), рекомендуется вместо этого использовать явный компаратор, предоставив класс, реализующий Comparator.
Если это так, я должен ожидать непредсказуемый поведение, когда я не переопределяю equals (...) и hashcode ()?
Вы все равно должны переопределить equals () и hashcode (). Является ли equals () и hashcode () совместимыми с CompareTo - это другой вопрос.
Просто поместите этот код в метод equals и больше никогда не думать об этом:
public boolean equals(Object obj) {
if (this == obj) return true;
if (!(obj instanceof MyClass)) return false;
return 0 == this.compareTo((MyClass) obj);
}
Effective Java рекомендует, чтобы, если вы не реализуете CompareTo
, равное равно
, вы должны четко указать следующее:
Рекомендуемое язык "Примечание: Этот класс имеет естественный порядок, несовместимо с equals. "