Patch from Shaun Kalley from bug #56023 - On CellReference, implement hashCode, fix the equals(Object) logic, and fix inconsistent whitespace

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1575683 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2014-03-09 09:49:06 +00:00
parent 434f05058e
commit 2a7cebf8c0

View File

@ -508,19 +508,26 @@ public class CellReference {
*/ */
@Override @Override
public boolean equals(Object o){ public boolean equals(Object o){
if (this == o) {
return true;
}
if(!(o instanceof CellReference)) { if(!(o instanceof CellReference)) {
return false; return false;
} }
CellReference cr = (CellReference) o; CellReference cr = (CellReference) o;
return _rowIndex == cr._rowIndex return _rowIndex == cr._rowIndex
&& _colIndex == cr._colIndex && _colIndex == cr._colIndex
&& _isRowAbs == cr._isColAbs && _isRowAbs == cr._isRowAbs
&& _isColAbs == cr._isColAbs; && _isColAbs == cr._isColAbs;
} }
@Override @Override
public int hashCode() { public int hashCode() {
assert false : "hashCode not designed"; int result = 17;
return 42; // any arbitrary constant will do result = 31 * result + _rowIndex;
result = 31 * result + _colIndex;
result = 31 * result + (_isRowAbs ? 1 : 0);
result = 31 * result + (_isColAbs ? 1 : 0);
return result;
} }
} }