sri*_*har 5 java string object java-ee
我正在将我的应用程序从JDK 7迁移到JDK 8.在执行操作时,我在创建如下所示com.sun.jdi.InvocationException occurred invoking method的实例时遇到异常TestField.我在调试时遇到异常,无法找到原因.我怀疑发生NullPointerException并且InvocationException会掩盖它.我在下面覆盖了Object方法TestField.
实用程序类下面是commons-langjar 的一部分.
HashCodeBuilder
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();
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这样的问题.有谁可以帮我解决同样的问题.谢谢.
尽管我没有遇到这个特定问题,但我也遇到过相当多的迁移问题,这些问题是由后来的流程掩盖的微小变化引起的。
我本来打算建议回溯并查看您的 toString 方法,但似乎有几个人已经遇到了同样的问题;toString 或 toHashCode 是最有可能的罪魁祸首。简而言之,空指针异常很可能被抛出,但被 com.sun.jdi.InitationException 错误掩盖。因此,如果您遇到空指针异常,则很可能在此之前发生过一些事情,但被掩盖了。只需取出部分代码并逐步将它们恢复即可。
这是我认为可以解决此问题的其他问题和答案(我没有标记为重复的声誉):
调用方法时发生 com-sun-jdi-inspirationException
另请看一下这个问题,特别是 Robin Green 的评论,您是否尝试过以这种方式调试此代码?
| 归档时间: |
|
| 查看次数: |
24611 次 |
| 最近记录: |