После проверки JavaDocs для метода, который я думал использовать, requiredNonNull
, я наткнулся на первый с единственным параметром (T obj)
.
Однако какова фактическая цель этого конкретного метода с этой подписью? Все, что он просто делает, - это бросок, и NPE, который я несколько позитивен (поскольку, возможно, мне не хватает чего-то очевидного здесь), все равно будет выброшено.
Броски: NullPointerException - если obj равно null
Последнее действительно имеет смысл с точки зрения отладки определенного кода, поскольку, как указывает документ, он в первую очередь предназначен для проверки параметров
public static <T> T requireNonNull(T obj,String message)
Проверяет, что указанная ссылка на объект не является нулевой и выбрасывает исключение NullPointerException, если оно есть.
Поэтому я могу распечатать определенную информацию вместе с NPE, чтобы облегчить отладку.
Имея это в виду, я очень сомневаюсь, что столкнулся с ситуацией, когда я предпочел бы просто использовать прежний вариант. Пожалуйста, просветите меня.
tl; dr - Почему бы вам никогда не использовать перегрузку, которая не принимает сообщение.