java - 无法使用 List 进行强制转换

标签 java arrays dictionary netbeans casting

我在尝试方法时遇到转换错误。 我无法弄清楚这里的实际问题。

(List) 成员 --> 此行正在生成转换错误,因为类无法转换为 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;
  }

谢谢。

最佳答案

membersSplitByState 是 String -> List 并且您试图将一个成员放入其中(成员)。

在这里,您希望将您的成员放入成员列表中,而不是直接放在 map 中。类似这样的事情:

    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;

关于java - 无法使用 List 进行强制转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039707/

相关文章:

java - Java Socket 客户端和 C++(基于 Boost)服务器之间的联网

java - 在 Java 8 中运行 PowerMock 时如何修复VerifyError

java - 字符串数组的减法

python - 从 numpy 数组创建字典

python - 我怎样才能找到字典中值之间的所有差异?

java - 修改请求参数的注解

java - 同时获取多个 HTML 页面的有效方法

javascript - 删除对象数组中的重复对象,同时保留唯一的字符串值

c++ - 如何将 char 数组文本存储在字符串中?

python - 将多个元组转换为嵌套字典