我有一个类,它有很多字符串字段。在所有那些字段的setter方法中,我必须做这样的检查(因为数据可能为null):
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'这样的字段。除了上面有什么好的方法,以避免null?我已阅读avoiding != null,但此处适用吗?
答案 0 :(得分:2)
如果使用java EE,则可以使用java验证API。 NotNull是EE6标准。
@NotNull
private String address1;
public void setAddress1(String address1)
{
this.address1 = address1;
}
如果不这样做,你仍然可以使用类似的东西,但非标准。
另一个好方法是使用Null Object Pattern。在那里,偶数空值表示为对象。
答案 1 :(得分:2)
我建议你导入Apache String实用程序,因为你有很多String notnull检查。因为此实用程序提供的所有方法都是null安全的,这意味着当参数为null时,它不会抛出NullPointException并且可以很好地处理它。 here是它的API
答案 2 :(得分:1)
您可以使用Apache Commons Lang
中的StringUtils.defaultString
public void setAddress1(String address1)
{
this.address1 = StringUtils.defaultString(address1, "");
}