Java 不能';t使用列表强制转换类
我在尝试某个方法时发生强制转换错误。 我想不出这里的实际问题 (列表)成员-->此行生成转换错误,因为类无法转换为列表 如何更新此问题 java.lang.ClassCastException:com.test.Member不能强制转换为java.util.List 在com.test.impl.Main.splitMembersByState上Java 不能';t使用列表强制转换类,java,arrays,dictionary,netbeans,casting,Java,Arrays,Dictionary,Netbeans,Casting,我在尝试某个方法时发生强制转换错误。 我想不出这里的实际问题 (列表)成员-->此行生成转换错误,因为类无法转换为列表 如何更新此问题 java.lang.ClassCastException:com.test.Member不能强制转换为java.util.List 在com.test.impl.Main.splitMembersByState上 protected Map< String, List< Member>> splitMembersByState(Lis
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;
}
protectedmap>splitMembersByState(ListvalidMembers){
//待办事项
Map>membersSplitByState=newhashmap();
列表圣殿骑士=有效成员;
适用于(成员:有效成员){
membersSplitByState.put(member.getState(),(List)成员);
}
返回成员分裂晶体;
}
谢谢。membersSplitByState是字符串->列表,您试图将一个成员放入其中(member) 在这里,您希望将您的成员放在成员列表中,而不是直接放在地图中。诸如此类:
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;
Map>membersSplitByState=newhashmap();
列表圣殿骑士=有效成员;
适用于(成员:有效成员){
列表成员状态;
if(membersSplitByState.containsKey(member.getState()){
membersWithState=membersSplitByState.get(member.getState());
}否则{
membersWithState=new ArrayList();
membersSplitByState.put(member.getState(),membersWithState);
}
membersWithState.add(成员);
}
返回成员分裂晶体;
membersSplitByState是字符串->列表,您试图将一个成员放入其中(member)
在这里,您希望将您的成员放在成员列表中,而不是直接放在地图中。类似于:
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;
Map>membersSplitByState=newhashmap();
列表圣殿骑士=有效成员;
适用于(成员:有效成员){
列表成员状态;
if(membersSplitByState.containsKey(member.getState()){
membersWithState=membersSplitByState.get(member.getState());
}否则{
membersWithState=new ArrayList();
membersSplitByState.put(member.getState(),membersWithState);
}
membersWithState.add(成员);
}
返回成员分裂晶体;
您不能将对象(案例中的元素)强制转换为对象列表,从而导致异常。
尝试用以下代码替换代码中的for循环:
for (Member member : validMembers) {
String key = member.getState();
List<Member> newList = membersSplitByState.get(key);
if(newList == null) {
newList = new ArrayList<>();
membersSplitByState.put(key, newList);
}
newList.add(member);
}
for(成员:validMembers){
String key=member.getState();
List newList=membersSplitByState.get(键);
if(newList==null){
newList=newarraylist();
membersSplitByState.put(键,新列表);
}
新增(成员);
}
您不能将对象(案例中的元素)强制转换为对象列表,从而导致异常。
尝试用以下代码替换代码中的for循环:
for (Member member : validMembers) {
String key = member.getState();
List<Member> newList = membersSplitByState.get(key);
if(newList == null) {
newList = new ArrayList<>();
membersSplitByState.put(key, newList);
}
newList.add(member);
}
for(成员:validMembers){
String key=member.getState();
List newList=membersSplitByState.get(键);
if(newList==null){
newList=newarraylist();
membersSplitByState.put(键,新列表);
}
新增(成员);
}
如何将集合强制转换为单个元素?您知道列表是“成员”的集合吗?@svasa membersSplitByState.put(Member.getState(),(List)Member)我需要将单个成员对象放在映射中,而我将成员放在映射中它建议强制转换为列表。我无法解决此问题。如何将集合强制转换为单个元素?您知道列表是“成员”的集合吗?@svasa membersSplitByState.put(Member.getState(),(List)Member)我需要将单个成员对象放在地图中,而我将成员放在地图中,它建议将其转换为列表。我无法解决此问题。非常感谢@Thomas:)非常感谢@Thomas:)