列表列表上的等于方法

时间:2016-07-18 18:10:07

标签: java arraylist equals

这是矩阵的定义:

private List<<List<Object>> lines;

public boolean equals(Object o){
      if(this==o)
         return true;
      if((o==null) || (this.getClass()!=o.getClass()))
         return false;
      Matrix m = (Matrix) o;
      return ????;
}

如何比较所有这些行和列。

我可以使用

return this.lines.equals(o.getLines());

...

由于

1 个答案:

答案 0 :(得分:2)

或多或少,尽管确切的代码不起作用。

来自List.equals javadoc:

  

当且仅当指定的对象也是列表时,返回true,两个列表具有相同的大小,并且两个列表中的所有对应元素对都相等。 (如果(e1 == null?e2 == null:e1.equals(e2)),则两个元素e1和e2相等。)

您确实可以使用此方法来确定相等性,但您需要先放置o。这是一个安全的演员,因为您已经检查过该课程(尽管您可能会考虑使用instanceof Matrix)。

return this.lines.equals(((Matrix)o).getLines());