У меня есть класс, который имеет много строковых полей. В сеттерах всех этих мест я должен сделать чек, как это (как данные могут быть нулевыми):Как избежать нулевой проверки
public void setAddress1(String address1)
{
this.address1 = Contract.checkNull(address1, "");
}
Класс договора выглядит следующим образом:
public class Contract
{
public static checkNull(String input, String output)
{
return (null == input) ? output : input;
}
}
У меня есть несколько таких полей, как 'address1' выше. Есть ли какой-либо хороший метод, отличный от приведенного выше, чтобы избежать нулевого? Я прочитал avoiding != null, но применимо ли это здесь?
Для этого несколько библиотек (guava, apache-commons) имеют метод типа Strings.defaultIfNull (str). В противном случае вы можете предположить хороший ввод; возможно, аннотируя параметр с помощью @ javax.annatotions.NotNull –
Просто чтобы сделать список полным, я хотел бы упомянуть утверждения. Использование утверждений противоречиво: http://programmers.stackexchange.com/questions/137158/is-it-better-to-use-assert-or-illegalargumentexception-for-required-method-param – ATrubka