这是相当荒谬的,我不确定为什么会发生这种情况,但每当我尝试使用.keySet
或.entrySet
时,我都会在Eclipse中得到错误,为它创建一个新方法。
答案 0 :(得分:6)
类型SparseMatrix
未声明名为entrySet
的方法。类型TreeMap
可以。您应该在该类型的引用上调用该方法。可能实现一个getter,它将检索matrix
对象的SparseMatrix
字段。
// inside the SparseMatrix class
public TreeMap<Integer, TreeMap<Integer, Double> getMatrix() {
return matrix;
}
然后调用此方法并链接entrySet()
调用
public static boolean equals(SparseMatrix a, SparseMatrix b) {
System.out.println("The entry set is:\n" + a.getMatrix().entrySet());
}
请记住,在编译时,方法调用是根据变量的类型来解决的。如果该类型未直接或通过继承声明该方法,则会发生编译错误。