如何在黑莓中的Hashtable中将null作为键值处理?

use*_*773 2 blackberry hashtable java-me

因为,我知道Hash表不允许null.如果我想放置密钥对值,如何处理它?黑莓还有其他选择吗?

Evg*_*eev 7

你可以用这样的东西扩展Hashtable

class NullKeyHashtable extends Hashtable {
    private static Object NULL = new Object();

    private Object nullToNull(Object key) {
        return key == null ? NULL : key;
    }

    public Object put(Object key, Object value) {
        return super.put(nullToNull(key), value);
    }

    public Object get(Object key) {
        return super.get(nullToNull(key));
    }

    ... 
}
Run Code Online (Sandbox Code Playgroud)

  • 很好,但你必须覆盖`containsKey`和`remove`. (2认同)