- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在将我的应用程序从 JDK 7 迁移到 JDK 8。在执行过程中,我遇到了一个异常 com.sun.jdi.InvocationException occurred invoking method
当 TestField
的实例时如下所示创建。我在调试时遇到异常,但找不到原因。我怀疑发生了 NullPointerException 并且 InvocationException 掩盖了它。我在 TestField
中重写了以下对象方法.
以下实用程序类是 commons-lang
的一部分 jar 。
哈希码生成器
EqualsBuilder
ToStringBuilder
public class TestField {
private String name;
private Rules rules;
public TestField(String name, Rules rules)
{ this.name = name;
this.rules = rules;
}
public String toString() {
return new ToStringBuilder(this)
.append("\n name", this.getName())
.append("\n Rules", this.getRules())
.append("\n ")
.toString();
}
public boolean equals(Object other) {
if ( !(other instanceof TestField) ) return false;
TestField castOther = (TestField) other;
return new EqualsBuilder()
.append(this.getName(), castOther.getName())
.append(this.getRules(), castOther.getRules())
.isEquals();
}
public int hashCode() {
return new HashCodeBuilder()
.append(this.getName())
.append(this.getRules())
.toHashCode();
}
}
有没有人遇到过这样的问题。谁能帮我解决这个问题。谢谢。
最佳答案
虽然我没有遇到过这个特定问题,但我遇到过相当一部分迁移问题,这些问题是由后来的过程掩盖的微小变化引起的。
我本来打算建议回溯并查看您的 toString 方法,但似乎已经有几个人遇到过同样的问题; toString 或您的 toHashCode 是最有可能的罪魁祸首。简而言之,空指针异常很可能被抛出,但被 com.sun.jdi.InvocationException 错误掩盖了。因此,如果您遇到 Null Pointer Exception,很可能在此之前发生了一些事情,但被掩盖了。只需取出部分代码,然后逐步将它们重新处理即可。
这是我认为可以解决这个问题的其他问题和答案(我没有标记为重复的声誉):
com-sun-jdi-invocationexception occurred invoking method
另外看看这个问题,特别是 Robin Green 的评论,你试过用那种方式调试这段代码吗?
关于java - JDK8调用方法时出现com.sun.jdi.InvocationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31541283/
我正在将我的应用程序从 JDK 7 迁移到 JDK 8。在执行过程中,我遇到了一个异常 com.sun.jdi.InvocationException occurred invoking method
我尝试运行 this example用于决策树学习,但得到以下错误信息: File "coco.py", line 18, in graph.write_pdf("iris.pdf") File "/
我只想创建一个类的对象,但在调试时出现此错误。谁能告诉我问题是什么?此代码的位置在某个 Spring(2.5) 服务类中。 有一个类似的问题:OJB Reference Descriptor 1:0
我通过对谷歌的研究发现,我可以通过将文本文件存储在我的 res/raw 文件夹中然后通过 getResources().openRawResource(R.raw.words); 访问它来读取文本文件
我对 OneToMany 关系有疑问。我正在使用 spring-mvc 和 spring-security 以及 hibernate 4。 我正在为所有人使用注释。 我的问题是在实体 War 中,当我
我正在使用 yo generator-aspnetcore-spa一旦我运行应用程序,我就遇到了问题 An unhandled exception occurred while processing
我正在使用 class.forname 创建类的新实例。类名来自属性。 假设我在两个包中有几个类。 com.package.Parser1 com.package.Parser2 com.packag
我是一名优秀的程序员,十分优秀!