Оказывается, если Вы просто хотите отключить проверку сертификата в целом, можно изменить ServerCertificateValidationCallback на ServicePointManager, как так:
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
Это проверит все сертификаты (включая недопустимые, или самоподписанные с истекшим сроком).
Если вас беспокоит исключение NullPointerExceptions, вы можете просто проверить равенство, например:
if (obj1 != null && obj1.equals(obj2)) { ... }
Общий договор equals ()
заключается в том, что ненулевой объект никогда не должен быть равен пустой ссылке,
Apache Commons Lang имеет такой метод: ObjectUtils.equals (object1, object2) . Вам не нужны дженерики для такого метода, это приведет к ложным ошибкам компиляции, по крайней мере, при общем использовании. Equals очень хорошо знает (или должен - это часть контракта) проверять класс объекта и возвращать false, поэтому ему не нужна дополнительная безопасность типов.
Всякий раз, когда я сталкиваюсь с необходимостью и думаю: «Это настолько распространено, что в Java она должна быть» но обнаружил, что это не так, я проверяю проект Jakarta Commons. Он почти всегда есть. Быстрый поиск API-интерфейса commons-lang (который содержит самые простые из распространенных утилит) показывает метод equals ()
, который предоставляет то, что вы хотите.
Jakarta Commons Lang API имеет то, что вы ищете ObjectUtils.equals (Object, Object)