笔者在最近的开发中解析Excel,遇到了一个奇怪的bug,明明字段解析出来的结果是null,postman中显示为null,但是还是通过了非空校验。
最终debug的时候,看到了这个
看了下源码:

原来String.valueOf()是将为null时,将一个“null”的字符串传进String变量中。忘记了这一点,结果就是结果看到是null,但是还是通过了非空校验。
这次的问题总结出两点问题,
第一,不要再忘记String.valueOf()是把为null时把"null"赋给变量。
第二,非空校验要在赋值之前做,今早发现null并抛出异常,便于今早抛出异常或返回响应以排查问题。不然就有可能像现在这样赋值了一个"null"。
在开发过程中遇到一个Excel解析问题,字段解析为null并通过了非空校验。原因是String.valueOf()将null转换为null字符串。此问题强调了理解String.valueOf()行为的重要性以及应在赋值前进行非空检查。及时发现和处理null值可以避免后续的逻辑错误。
751





