请大家帮忙, 程序出现ClassCastException
Zenki 2005-01-09 10:50:15 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)
////////////////////////////////////////////////////////////////////////////////////////
请问如何改正错误 ?? 在此谢过半!!