Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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
java.util.HashMap.containsKey(对象键)实现是否违反了java.util.Map.containsKey(对象键)文档?_Java_Interface_Hashmap - Fatal编程技术网

java.util.HashMap.containsKey(对象键)实现是否违反了java.util.Map.containsKey(对象键)文档?

java.util.HashMap.containsKey(对象键)实现是否违反了java.util.Map.containsKey(对象键)文档?,java,interface,hashmap,Java,Interface,Hashmap,java.util.Map.containsKey(对象键)文档说明: @如果键的类型不适合此映射,则抛出ClassCastException java.util.HashMap.containsKey(对象键)实现没有对它做任何说明 我的问题: 如果我创建一个Map Map=newhashmap()并使用整数调用containsKey方法。该值是散列的(作为字符串),但该方法不会抛出异常 顺便提一下,4的散列与“4”的散列不同 这真的是预期的行为吗?这似乎是一个可选的限制,不适用于HashMa

java.util.Map.containsKey(对象键)
文档说明:
@如果键的类型不适合此映射,则抛出ClassCastException

java.util.HashMap.containsKey(对象键)
实现没有对它做任何说明

我的问题:

如果我创建一个
Map Map=newhashmap()
并使用
整数调用
containsKey
方法。该值是散列的(作为
字符串),但该方法不会抛出
异常

顺便提一下,4的散列与“4”的散列不同


这真的是预期的行为吗?

这似乎是一个可选的限制,不适用于
HashMap

containsKey
中所述:

[……]

抛出
ClassCastException
-如果该键的类型不适合此映射()

请注意“可选”,并参见链接:

某些集合实现对它们可能包含的元素有限制。例如,有些实现禁止
null
元素,有些实现对其元素的类型有限制。尝试添加不合格的元素会引发未经检查的异常,通常是
NullPointerException
ClassCastException
。试图查询不合格元素的存在可能会引发异常,或者只返回false;有些实现将展示前一种行为,有些实现将展示后一种行为。更一般地说,在不合格元素上尝试操作(其完成不会导致将不合格元素插入到集合中)可能会引发异常,或者可能会成功(由实现选择)。此类异常在该接口规范中标记为“可选”


列为可选:键必须是字符串的泛型类型信息在运行时不可用。HashMap应该如何发现必须抛出ClassCastException?