请大家帮忙, 程序出现ClassCastException

Zenki Zenki 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public class Staff{
private String staffID;
private String StaffName;
private double salary;

public Staff(String StaffID,String Name, double Salary){
this.staffID = StaffID;
this.StaffName = Name;
this.salary = Salary;

System.out.println("Class Staff has been created.");

}

public String getStaffID() {
return this.staffID;
}

public String getStaffName() {
return this.StaffName;
}

public double getSalary() {
return this.salary;
}

public String toString() {
return ("Staff ID: " + getStaffID() + ", Name: " + getStaffName() + ", Salary: " + String.valueOf(getSalary()));
}
}

////////////////////////////////////////////////////////////////////////////////////////
import java.util.*;

public class Company{
private Map staffMap = new HashMap();

public void addStaff(Staff oneStaff){

staffMap.put(oneStaff.getStaffID(),oneStaff.toString());
}

public void showStaff(){

Iterator iterator = staffMap.keySet().iterator();
while (iterator.hasNext()){
System.out.println(staffMap.get(iterator.next()));
}

}

public Set nameSet(){
Set set = new HashSet();


Iterator iterator = staffMap.keySet().iterator();


while (iterator.hasNext()){
set.add(((Staff) staffMap.get(iterator.next())).getStaffName());//问题出现在此

}
return set;
}

}
///////////////////////////////////////////////////////////////////////////////////////
public class TestCompany{
public static void main(String args[]){
Company smallCompany = new Company();

Staff StaffOne = new Staff("A007","James",10001.0);
Staff StaffTwo = new Staff("A009","James",999.0);
Staff StaffThree = new Staff("A012","Moon",5000.0);

smallCompany.addStaff(StaffOne);
smallCompany.addStaff(StaffTwo);
smallCompany.addStaff(StaffThree);
smallCompany.showStaff();

System.out.println(smallCompany.nameSet().toString()); //问题出现在此

}
}
////////////////////////////////////////////////////////////////////////////////////////
问题输出:

Exception in thread "main" java.lang.ClassCastException:java.lang.String
at Company.nameSet()(company.java:80)
at TestCompany.main(TestCompany.java:20)
////////////////////////////////////////////////////////////////////////////////////////
请问如何改正错误 ?? 在此谢过半!!
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
Zenki
Java SE 62,620 成员 307,251 内容