【问题标题】:Casting object to hashmap将对象转换为哈希图
【发布时间】:2015-04-23 14:57:55
【问题描述】:

这是我的代码:

@SuppressWarnings("unchecked") 
public List<HashMap<String,Object>> read() {
    List<HashMap<String,Object>> listOfFieldValues=null;
    try {
        uri = URI.create("http://webdev.fritz.box/xmlrpc.php");
        client = new XMLRPCClient(uri);

        Object[] responseFields=(Object[])client.call("listTrans","ccb48f8cafa83787d6e6f7976e17fa3e", "MusicApp24432");
        System.out.println(responseFields.length);
        listOfFieldValues=new ArrayList<HashMap<String,Object>>(responseFields.length);
        for (    Object objectFields : responseFields) {
            listOfFieldValues.add((HashMap<String,Object>)objectFields);
        }

    }
    catch (XMLRPCException e) {
        try {
            System.out.println(client.call("listTrans","ccb48f8cafa83787d6e6f7976e17fa3e", "MusicApp24432"));
        } catch (XMLRPCException e1) {
            e1.printStackTrace();
        }
        System.out.println(e.toString());
    }
    return listOfFieldValues;
}

我在运行时收到此错误:

04-23 16:43:05.533: E/AndroidRuntime(20787): java.lang.ClassCastException: java.lang.Object[] 不能转换为 java.util.HashMap

我尝试了类似主题的所有解决方案,但它不起作用

【问题讨论】:

    标签: android string object casting hashmap


    【解决方案1】:

    您的数组responseFields 不包含HashMaps,因此当您尝试强制转换时它会失败。您需要更详细地查看数组实际包含的内容并转换为正确的内容。

    您可能只需要再深入一层,或者它可能是一个完全不同的数据结构,您需要手动映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多