diff --git a/redisson/src/main/java/org/redisson/cache/LocalCacheView.java b/redisson/src/main/java/org/redisson/cache/LocalCacheView.java index b5ac6f847..77ad5d199 100644 --- a/redisson/src/main/java/org/redisson/cache/LocalCacheView.java +++ b/redisson/src/main/java/org/redisson/cache/LocalCacheView.java @@ -164,7 +164,8 @@ public class LocalCacheView<K, V> { @Override public Map.Entry<K, V> next() { CacheValue e = iter.next(); - return new AbstractMap.SimpleEntry<K, V>((K) e.getKey(), (V) e.getValue()); + V val = toValue(e); + return new AbstractMap.SimpleEntry<K, V>((K) e.getKey(), val); } @Override @@ -240,7 +241,11 @@ public class LocalCacheView<K, V> { } } - + + protected V toValue(CacheValue cv) { + return (V) cv.getValue(); + } + public CacheKey toCacheKey(Object key) { ByteBuf encoded = object.encodeMapKey(key); try {