【问题标题】:is there any other way to except optional.ifpresent() to check if value populated or not除了 optional.ifpresent() 是否有任何其他方法来检查值是否填充
【发布时间】:2020-07-11 09:45:39
【问题描述】:
当前传入请求文件中的 xml 节点,必须填充值 01/22/2020。我们有一些新的测试用例,它们以空白形式发送并引发异常。所以需要改变这个逻辑来接受null。
除了可选类还有什么方法?保持代码干净。
if(!date.equalsIgnoreCase("Today")){
感谢这个工作。我只需要再次检查空空值。
if (date != null && !date.equalsIgnoreCase("Today"))
向用户 85421 致敬。
【问题讨论】:
标签:
java
xml
spring
validation
【解决方案1】:
条件检查可以反转——而不是:
if(!date.equalsIgnoreCase("Today")){
使用
if(!"Today".equalsIgnoreCase(date)){
“Today”不为空,因此它永远不会抛出 NullPointerException。
但是,由于需求发生了变化,String date 参数应该更改为Optional<String> date。这使得代码可以自我记录,而无需查看实现。但根据 XML 的解析方式,这可能不可行。
另外,请考虑在内部使用LocalDate,如果返回类型无法更改为LocalDate,则转换为Date。