Your equals
method is not correctly defined, it should be:
@Override
public boolean equals(Object obj)
{
...
}
Something like this should work:
@Override
public boolean equals(Object obj)
{
if (!(obj instanceof DynamicField))
return false;
return compareTo((DynamicField)obj) == 0;
}
If you're overriding a method of another class or implementing an interface method, you should always add @Override
. If you defined it incorrectly, it should tell you something like:
method does not override or implement a method from a supertype