diff options
Diffstat (limited to 'document')
-rw-r--r-- | document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java b/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java index c8d007037f3..726deb18859 100644 --- a/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java +++ b/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java @@ -47,17 +47,24 @@ public abstract class FieldPathIteratorHandler { } @Override - public boolean equals(Object o) { - IndexValue other = (IndexValue)o; - + public int hashCode() { + int hc = index; if (key != null) { - if (other.key != null && key.equals(other.key)) { - return true; - } - return false; + hc = key.hashCode(); } + return hc; + } - return index == other.index; + @Override + public boolean equals(Object o) { + IndexValue other = (IndexValue)o; + if (key != null && other.key != null) { + return key.equals(other.key); + } + if (key == null && other.key == null) { + return index == other.index; + } + return false; } }; |