Error messages explained

Introduction

Did EqualsVerifier give an error message that you didn’t understand? I try to make the error messages as clear as possible, but unfortunately Java’s stacktraces leave little room for explanation sometimes. This page should help make sense of some of EqualsVerifier’s error messages.

Before you continue, please check your class’s toString method. Since EqualsVerifier relies on toString when generating error messages, overriding it helps with getting better error messages. I recommend including the name of the class, and a summary of all the fields relevant to the equals contract. For example:

@Override public String toString() {
    return getClass().getSimpleName() + ": x=" + x + ", y=" + y;
}
// "Point: x=1, y=2"

The error messages

This is not a complete list. I’ll add to it as needed, so if you need help with an error message, please file an issue or let me know on the discussion group, and I’ll add an explanation as soon as possible.