mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
修复Dict#containsKey方法没区分大小写问题
This commit is contained in:
@@ -19,6 +19,7 @@ import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
/**
|
||||
* 字典对象,扩充了HashMap中的方法
|
||||
@@ -567,6 +568,11 @@ public class Dict extends LinkedHashMap<String, Object> implements BasicTypeGett
|
||||
}
|
||||
// -------------------------------------------------------------------- Get end
|
||||
|
||||
@Override
|
||||
public boolean containsKey(Object key) {
|
||||
return super.containsKey(customKey((String) key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object get(Object key) {
|
||||
return super.get(customKey((String) key));
|
||||
@@ -587,6 +593,48 @@ public class Dict extends LinkedHashMap<String, Object> implements BasicTypeGett
|
||||
return (Dict) super.clone();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object remove(Object key) {
|
||||
return super.remove(customKey((String) key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean remove(Object key, Object value) {
|
||||
return super.remove(customKey((String) key), value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean replace(String key, Object oldValue, Object newValue) {
|
||||
return super.replace(customKey(key), oldValue, newValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object replace(String key, Object value) {
|
||||
return super.replace(customKey(key), value);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------- Override default methods start
|
||||
@Override
|
||||
public Object getOrDefault(Object key, Object defaultValue) {
|
||||
return super.getOrDefault(customKey((String) key), defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object computeIfPresent(final String key, final BiFunction<? super String, ? super Object, ?> remappingFunction) {
|
||||
return super.computeIfPresent(customKey(key), remappingFunction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object compute(final String key, final BiFunction<? super String, ? super Object, ?> remappingFunction) {
|
||||
return super.compute(customKey(key), remappingFunction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object merge(final String key, final Object value, final BiFunction<? super Object, ? super Object, ?> remappingFunction) {
|
||||
return super.merge(customKey(key), value, remappingFunction);
|
||||
}
|
||||
//---------------------------------------------------------------------------- Override default methods end
|
||||
|
||||
/**
|
||||
* 将Key转为小写
|
||||
*
|
||||
@@ -617,9 +665,4 @@ public class Dict extends LinkedHashMap<String, Object> implements BasicTypeGett
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsKey(Object key) {
|
||||
return super.containsKey(customKey((String) key));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -70,7 +70,7 @@ public abstract class TransMap<K, V> extends MapWrapper<K, V> {
|
||||
|
||||
@Override
|
||||
public boolean replace(K key, V oldValue, V newValue) {
|
||||
return super.replace(customKey(key), customValue(oldValue), customValue(values()));
|
||||
return super.replace(customKey(key), customValue(oldValue), customValue(newValue));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user