Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在blackberry的哈希表中将null作为键值处理?_Blackberry_Java Me_Hashtable - Fatal编程技术网

如何在blackberry的哈希表中将null作为键值处理?

如何在blackberry的哈希表中将null作为键值处理?,blackberry,java-me,hashtable,Blackberry,Java Me,Hashtable,正如我所知,哈希表不允许null。 如果要放置密钥对值,如何处理它? 黑莓还有其他选择吗???你可以用这样的东西扩展哈希表 class NullKeyHashtable extends Hashtable { private static Object NULL = new Object(); private Object nullToNull(Object key) { return key == null ? NULL : key; } p

正如我所知,哈希表不允许null。 如果要放置密钥对值,如何处理它?
黑莓还有其他选择吗???

你可以用这样的东西扩展哈希表

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));
    }

    ... 
}

您想保留null作为键吗?在
哈希表中不能这样做。替换旧的不推荐使用的
HashTable
用于
HashMap
@LuiggiMendoza BlackBerry JDK中没有HashMap
HashTable
不支持null键,而
HashMap
则支持null键。如果您正在查找
synchronized
集合,则可以使用
synchronizedMap
<代码>集合.synchronizedMap(新HashMap)
@Jayamohan Multimap不允许空键,因为它在内部使用
哈希表
将键映射到值集(刚刚测试)。此外,顾名思义,您可以将多个值映射到一个键,因此即使它允许空键,它也不能直接替换
哈希表
。很好,但您还必须重写
containsKey
remove