使用JUnit比较ArrayLists是否相等的简单方法是什么?我需要实现相等接口吗?或者是否有一个简单的JUnit方法,使其更容易?
答案 0 :(得分:45)
你需要对列表相等没什么特别的,只需使用assertEquals。
ArrayList和其他列表通过使用对象的equals()方法检查列表的相应位置中的所有对象是否相等来实现equals()。因此,您可能希望检查列表中的对象是否正确等效。
答案 1 :(得分:5)
您可能需要查看List.equals
。
答案 2 :(得分:2)
我认为这可能是一个稍微简单的答案(虽然它是正确的)。测试ArrayLists for equals意味着您已经考虑了元素的相等性。如果元素是整数,则一切都很好。但如果它们是您自己的域类的实例,那么您应该了解围绕平等(和克隆)的陷阱。请查看:
http://www.artima.com/lejava/articles/equality.html
有关实施平等的一系列建议。旁白:如果您需要克隆对象,请考虑使用复制构造函数而不是实现cloneable。 Cloneable引入了一些你可能没想到的问题。