我有一些类似的构造函数,其中我必须处理参数为null
的构造函数。
public Element(int value1, String value2, String value3, String value4) {
this.value1 = value1;
this.value2 = value2 != null ? value2 : "";
this.value3 = value3 != null ? value3 : "";
this.value4 = value4 != null ? value4 : "";
}
是的,我知道,我可以写一个实用的方法或我自己的注释来减少参数2,3,4 的锅炉板代码
但有没有现有的解决方案?参数甚至类上的@DefaultOnNull("")
之类的东西?
感谢您的评论。我用这种方式解决了这个问题,至少减少了一点锅炉板代码:
public Element(int value1, String value2, String value3, String value4) {
this.value1 = value1;
this.value2 = Objects.requireNonNullElse(value2, "");
this.value3 = Objects.requireNonNullElse(value3, "");
this.value4 = Objects.requireNonNullElse(value4, "");
}
您可以使用以下代码
this.value2 = StringUtils.defaultString(value2);
StringUtils是一个Apache公共库,是广泛使用的字符串相关操作的标准库。Maven-https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.10