我在尝试方法时遇到了强制转换错误。 我无法弄清楚这里的实际问题。
(列表)成员 - >此行正在生成强制转换错误,因为类无法转换为List。
如何更新此问题?
java.lang.ClassCastException:com.test.Member无法强制转换为java.util.List 在com.test.impl.Main.splitMembersByState
protected Map< String, List< Member>> splitMembersByState(List< Member> validMembers) {
// TODO
Map< String, List< Member>> membersSplitByState = new HashMap<String, List<Member>>();
List<Member> tempList = validMembers;
for (Member member : validMembers) {
membersSplitByState.put(member.getState(), (List<Member>) member);
}
return membersSplitByState;
}
谢谢。
答案 0 :(得分:1)
membersSplitByState是String - &gt;列表,你试图在其中加入一个成员(成员)。
在这里,您希望将您的成员放在成员列表中,而不是直接放在地图中。这样的事情:
Map< String, List< Member>> membersSplitByState = new HashMap<String, List<Member>>();
List<Member> tempList = validMembers;
for (Member member : validMembers) {
List<Member> membersWithState;
if (membersSplitByState.containsKey(member.getState()) {
membersWithState = membersSplitByState.get(member.getState());
} else {
membersWithState = new ArrayList<Member>();
membersSplitByState.put(member.getState(), membersWithState);
}
membersWithState.add(member);
}
return membersSplitByState;
答案 1 :(得分:1)
您不能将对象(在您的情况下为元素)转换为Object列表,因此也是异常。 尝试使用以下代码替换代码中的for循环:
search