考虑一下bean的自定义toString()实现:
@Override
public String toString() {
String.format("this is %s", this.someField);
}
如果someField为null,则此值为null。
有没有办法将null值参数的默认空字符串表示覆盖到另一个文本,即?没有在toString方法中显式替换replaceAll(…)?
编辑:为了示例,代码段被过度简化,但是我不是在寻找三进制运算符解决方案someField == null? “?” :someField因为:
>可能会(潜在地)涉及toString()的许多领域,所以检查所有的字段太麻烦了,不流利。
>其他我无法控制的人(如果有的话)正在编写自己的子类。
>如果一个方法被调用并且返回null,这意味着调用该方法两次或声明一个局部变量。
相反,可以使用Formattable接口或者有一些自定义的Formatter(这是最终的btw)来完成任何事情。