【问题标题】:Java code evaluation (IntelliJ IDE), use toString() in some point?Java 代码评估(IntelliJ IDE),在某些时候使用 toString()?
【发布时间】:2014-01-06 12:47:28
【问题描述】:

评估对象初始化时,出现toString nullPointerException。

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

重现此问题的代码示例:

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

为什么会这样?评估是否使用 toSting() 调用完成?

【问题讨论】:

  • 我今天收到了同样的错误信息。事实证明,Intellij 试图显示一个具有空字段的对象,该对象的 toString 引发了空指针异常。修改了该类的 toString 方法,问题就消失了。

标签: java intellij-idea nullpointerexception


【解决方案1】:

我已经找到了这种行为的根本原因。

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

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

如果不想每次都手动更新,可以在IntelliJ属性following this steps改一下

【讨论】:

【解决方案2】:

也许你覆盖了hashCode() 方法并且hashCode() 返回null

【讨论】:

    猜你喜欢
    • 2012-07-07
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多