From 6ea2b6868eb496f39bbbfb2d13662cb397d4d799 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Fri, 17 Mar 2017 09:57:54 -0400 Subject: More toString/hashCode/equals --- .../src/main/java/bjc/utils/data/LazyPair.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java b/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java index 59df1b1..d19eed9 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/LazyPair.java @@ -199,4 +199,32 @@ public class LazyPair implements IPair return sb.toString(); } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + (leftMaterialized ? 1231 : 1237); + result = prime * result + ((leftValue == null) ? 0 : leftValue.hashCode()); + result = prime * result + (rightMaterialized ? 1231 : 1237); + result = prime * result + ((rightValue == null) ? 0 : rightValue.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if(this == obj) return true; + if(obj == null) return false; + if(getClass() != obj.getClass()) return false; + LazyPair other = (LazyPair) obj; + if(leftMaterialized != other.leftMaterialized) return false; + if(leftValue == null) { + if(other.leftValue != null) return false; + } else if(!leftValue.equals(other.leftValue)) return false; + if(rightMaterialized != other.rightMaterialized) return false; + if(rightValue == null) { + if(other.rightValue != null) return false; + } else if(!rightValue.equals(other.rightValue)) return false; + return true; + } } -- cgit v1.2.3