将哈希映射传递给函数-Java

将哈希映射传递给函数-Java,java,hashmap,Java,Hashmap,代码: 当我尝试运行此代码时,收到以下错误: public void saveFile(HashMap hashTable) { for (Employee e : hashTable.values()) { //... } } 如有任何帮助,我们将不胜感激。如果地图的价值应为员工,请将签名更改为: incompatible types: Object cannot be converted to Employee for (

代码:

当我尝试运行此代码时,收到以下错误:

public void saveFile(HashMap hashTable) {

    for (Employee e : hashTable.values()) {
            //...
    }
}

如有任何帮助,我们将不胜感激。

如果地图的价值应为员工,请将签名更改为:

 incompatible types: Object cannot be converted to Employee 
           for (Employee e : hashTable.values()) {
公共void保存文件(映射哈希表){
其中,键类型应替换为键的类型(可能是字符串或整数)


当您使用原始映射类型时,
hashTable.values()
将返回一个原始
集合
,因此迭代它将为您提供
对象
引用,而不是
员工
引用。

您使用了
HashMap
的原始形式,因此
hashTable.values()
返回原始
集合
,该集合返回
对象
s,该对象不能直接分配给
员工
变量

使用
HashMap
的通用形式,或者:

public void saveFile(Map<TheKeyType,Employee> hashTable) {
public void saveFile(HashMap<?, Employee> hashTable) {
public void saveFile(HashMap<YourKey, Employee> hashTable) {
public void saveFile(Map<YourKey, Employee> hashTable) {