当前位置: 首页 > 知识库问答 >
问题:

创建hashmapfrom List提供java.lang.ClassCastException

孔海超
2023-03-14

下面是我的代码。任何帮助都很感激。我根本无法阅读列表和创建地图。我将列表 object> > 作为函数参数传递到Rest层。在我的服务层中,我需要使用存储在列表中的映射值。

我的列表有前面提到的值

[{ID=56, VALUE=CPR,DESCRIPTOR=HEAD}, 
{ID=68,VALUE=RegFinance,DESCRIPTOR=FINANCE}]
{56={ID=56, VALUE=CPR,DESCRIPTOR=HEAD}, 
68={ID=68,VALUE=RegFinance,DESCRIPTOR=FINANCE}}
    Map<String, Object> userRoleMap = new HashMap<>();
                for (int count = 0; count < allRolesDetails.size(); count++) {
                    //Map<String, Object> mapp=allRolesDetails.get(count);
                   //Above line Gives Exception

                    String[] singleColumn = allRolesDetails.get(count).toString().split(",");
                   //Above line Gives Exception

                    for(String pair : singleColumn)  
                    {
                        String[] entry = pair.split("=");   
                        userRoleMap.put(entry[1].trim(),allRolesDetails.get(count)); 
                        break;//add them to the hashmap and trim whitespaces
                    }
                }
Iterator<Map<String, Object>> it = allRolesDetails.iterator();
            while (it.hasNext()) {
                Map<String, Object> map = it.next(); //so here you don't need a potentially unsafe cast
                for (Map.Entry<String, Object> entry : map.entrySet()) {
                    System.out.println(entry.getKey() + " = " + entry.getValue());
                }
            }
for(Map<String, Object> map:allRolesDetails){
                for(Map.Entry<String, Object>entry : map.entrySet()){
                    String Key=entry.getKey();
                    Object Value=entry.getValue();
                }
            }

ClassCastException:java.lang.String不能强制转换为java.util.Map

共有1个答案

潘意
2023-03-14

您在这里键入了大量代码,而您可以这样做

java prettyprint-override">Map<String, Map<String, Object>> userRoleMap = new HashMap<>();
for (Map<String, Object> m : allRolesDetails) {
    userRoleMap.put(m.get("ID"), m);
}
 类似资料:
  • 在上一节,我们创建了一个新的名为 gitrepo 的自定义资源类型并告诉 Puppet 此类型需要携带两个参数,分别为 source 和 path。 然而到目前为止,我们还没有告诉 Puppet 如何检出仓库,即如何创建这种类型的具体实例。 这正是提供者(provider)的用武之地。 正如我们之前看到的,一个类型经常会有几种可能的提供者。在本例中, 对一个 Git 仓库进行实例化仅有一种明智的方

  • 问题内容: 我被困在创建SSLContext(我想用来实例化SSLEngine来通过java-nio处理加密传输)的过程中: 代码 引发以下异常: 我将Bouncy Castle的当前提供程序包“ bcprov- jdk15on-150.jar”(从此处获得)附加到了应用程序类路径以及它的引导类路径(通过VM- Option -Xbootclasspath / p),但是都没有解决问题。我也尝试了

  • 我正在尝试创建一个委托身份验证提供程序来执行逻辑,然后根据一些任意逻辑决定选择哪个身份验证提供程序;为了这个例子,如果用户名以前缀开头。 我当前的SecurityConfig将一次尝试一个身份验证提供程序: 根据用户名,我想选择是否要使用try a provider,这样,如果用户名不是以特定前缀(“ldap”、“custom”、“ad”等)开头,它们就不会被调用...),所以: 我似乎无法以这种

  • > 我通过terraform创建了一个自签名tls证书和私钥。这些文件称为服务器。密钥和服务器。crt 我用这个证书和私钥创建了一个kubernetes tls机密:kubectl create secret tls dpaas secret-n dpaas prod-key server。密钥--cert server.crt 这工作正常,nginx入口ssl终止工作,以下kubectl命令:k

  • 问题内容: 我无法让Appium启动Android会话,也没有找到与我在网上搜索时收到的错误消息相关的任何内容。 当我运行测试时,Appium转储此日志: 我的测试: 什么意思 问题答案: 将 ApplicationName > Absolute替换为 App 或( appPackage 和 appActivity )

  • 本文向大家介绍Laravel如何创建服务器提供者实例代码,包括了Laravel如何创建服务器提供者实例代码的使用技巧和注意事项,需要的朋友参考一下 前言 Laravel服务器容器:是用于管理类依赖和执行依赖注入的工具。下面我们演示下如何创建服务器提供者,它是Laravel的核心。话不多说了,来一起看看详细的介绍吧 在app/Contracts目录下创建TestContract.php文件,其内容为