我使用
然而,当字符串字段为空时,会像预期的那样抛出异常。我可以像下面所示在修剪之前检查值:
trim()
方法来修剪某些字符串字段中的前导和尾随空格。siteRequest.getName().trim();
然而,当字符串字段为空时,会像预期的那样抛出异常。我可以像下面所示在修剪之前检查值:
siteRequest.getName() ? siteRequest.getName() : siteRequest.getName().trim();
但是,如果可能的话,我希望有一种更简洁的方式,因为已经有几个人遇到了这个问题。有什么更聪明的方法可以建议吗?
siteRequest.getName() == null
吗?使用普通的Java,你可以采用三元运算符的方式siteRequest.getName() == null ? null : /* other value */
,或者如果已经是Optional
形式,可以使用Optional#map
。在Java中没有像Kotlin/Scala中那样的Elvis操作符,你不能这样做:siteRequest.getName()?.trim()
。 - RoguegetName()
方法的代码访问权限吗?也许你可以在那里处理这个无聊的问题。 - DevilsHndsiteRequest.getName() == null ?
。在提问之前,我也尝试使用siteRequest.getName()?.trim()
,但正如您所提到的,Java不支持它。 - user19254373getName()
返回的名称是否需要有前导或尾随空格?这取决于实际Getter或任何Getter的用途。如果创建了一个类实例对象,您可能会怀疑它可能有一个名称或者至少有一个临时替代方案,例如:return ((this.name == null || this.name.isEmpty()) ? "N/A" : this.name);
。同样,这取决于Getter的用途以及您的应用程序如何使用它。 - DevilsHnd