【发布时间】:2019-04-15 19:09:01
【问题描述】:
我遇到了this post 的不区分大小写的哈希图,并尝试实现它,但我没有得到预期的结果。出于某种原因,当我使用不同的大小写并返回 null 时,它没有返回值,我认为在这种情况下你并不真的需要非默认构造函数,但我不确定。
public class CaseInsensitiveMap extends HashMap<String, Integer> {
@Override
public Integer put(String key, Integer value) {
return super.put(key.toLowerCase(), value);
}
// not @Override because that would require the key parameter to be of type Object
public Integer get(String key) {
return super.get(key.toLowerCase());
}
}
并像这样使用;
HashMap<String, Integer> stuff = new CaseInsensitiveMap();
stuff.put("happy", 11);
System.out.println(stuff);
Integer result = stuff.get("HAPPy");
System.out.println(result);
System.out.println(stuff);
但结果是;
{happy=11}
null
{happy=11}
【问题讨论】:
-
相同的链接但不同的答案stackoverflow.com/a/22336599/2310289 - 使用不区分大小写的树形图
标签: java case superclass