Java 不能';t使用列表强制转换类

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

我在尝试某个方法时发生强制转换错误。 我想不出这里的实际问题

(列表)成员-->此行生成转换错误,因为类无法转换为列表

如何更新此问题

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;
  }
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:)