Java代码评估(IntelliJ IDE),在某些时候使用toString()?

评估对象初始化时,将显示 toString nullPointerException。

方法抛出 'java.lang.NullPointerException' 异常。无法评估 XXXX.toString()

重现此问题的代码示例:

Car car = carUtils.objectMapper.readValue(new File(pathTo("carProperties.json")), Car.class); 

为什么会发生这种情况?评估是使用 toSting() 调用完成的吗?


答案 1

我已经发现了这种行为的根本原因。

您可以选择 IntelliJ 评估将以何种方式显示数据:结果可以是对象或 toString 评估。因此,我遇到的错误,使用>toString查看,而并非所有对象都必须实现toString。希望它能在未来帮助某人。

enter image description here

您可以通过右键单击变量(在调试器的变量窗口中)并单击“查看为”来更新变量的显示类型

如果不想每次都手动更新它,可以按照以下步骤在 IntelliJ 属性中更改它


答案 2

也许您覆盖了该方法并返回 .hashCode()hashCode()null


推荐