2.12. 强制返回值
为了避免不必要地发送数据,对远程缓存写入操作会返回 null,而不是之前的值。
例如,以下方法调用不会返回键以前的值:
V remove(Object key); V put(K key, V value);
V remove(Object key);
V put(K key, V value);
您可以使用 FORCE_RETURN_VALUE 标志更改此默认行为,以便您的调用返回前面的值。
流程
-
使用
FORCE_RETURN_VALUE标志获取以前的值而不是null,如下例所示:
cache.put("aKey", "initialValue");
assert null == cache.put("aKey", "aValue");
assert "aValue".equals(cache.withFlags(Flag.FORCE_RETURN_VALUE).put("aKey",
"newValue"));
cache.put("aKey", "initialValue");
assert null == cache.put("aKey", "aValue");
assert "aValue".equals(cache.withFlags(Flag.FORCE_RETURN_VALUE).put("aKey",
"newValue"));