获取包含长值的哈希表的方法

问题描述

我有一个哈希表,我声明为: Hashtable<Long,Long> sumhash = new Hashtable<Long,Long>(); 现在,当我使用以下方法检查是否存在密钥时:

if(sumhash.containsKey(diff) == true){
    start = sumhash.get(diff);
} //diff contains a Long value.

它在我检查散列表中是否存在 diff 时有效,但是当我尝试使用 get() 方法获取 vaule 时,它​​给了我 error: incompatible types: Long cannot be converted to int

我是 Java 新手,提前致谢。

解决方法

你应该使用 .intValue() 来转换它。 这里的问题是,在哈希表中,您将值存储为 Long 对象,因此您需要的不仅仅是括号来转换。这是更全面的解释:https://www.javatpoint.com/java-long-to-int