|
|
|
@ -375,5 +375,47 @@ public class RedissonMap<K, V> extends RedissonExpirable implements RMap<K, V> {
|
|
|
|
|
getName(), key, new BigDecimal(value.toString()).toPlainString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean equals(Object o) {
|
|
|
|
|
if (o == this)
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
if (!(o instanceof Map))
|
|
|
|
|
return false;
|
|
|
|
|
Map<?,?> m = (Map<?,?>) o;
|
|
|
|
|
if (m.size() != size())
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
Iterator<Entry<K,V>> i = entrySet().iterator();
|
|
|
|
|
while (i.hasNext()) {
|
|
|
|
|
Entry<K,V> e = i.next();
|
|
|
|
|
K key = e.getKey();
|
|
|
|
|
V value = e.getValue();
|
|
|
|
|
if (value == null) {
|
|
|
|
|
if (!(m.get(key)==null && m.containsKey(key)))
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
if (!value.equals(m.get(key)))
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (ClassCastException unused) {
|
|
|
|
|
return false;
|
|
|
|
|
} catch (NullPointerException unused) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int hashCode() {
|
|
|
|
|
int h = 0;
|
|
|
|
|
Iterator<Entry<K,V>> i = entrySet().iterator();
|
|
|
|
|
while (i.hasNext())
|
|
|
|
|
h += i.next().hashCode();
|
|
|
|
|
return h;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|