无法将List <map>转换为Str []

时间:2015-07-20 08:34:20

标签: java arrays list

我有一个

List<Map> headers = (List<Map>) responseMap.get("headers");

带输出

[{name=Branch}, {name=Cancel.}, {name=Trade State}, {name=Th. Sett. Dt.}, {name=Ord. Nat.}, {name=DE Code}, {name=FX}]

我的目标是将它放入Str []所以我尝试了这个 编辑我只想要列表的值,而不是{name =}

String array[] = new String[headers.size()];

    for (int j = 0; j < headers.size(); j++) {
        array[j] = headers.toString();

但我得到了这个输出

[Ljava.lang.String;@104eff0

使用Windows,JDk 1.6

4 个答案:

答案 0 :(得分:0)

是。它作为整个列表元素的单个字符串元素插入。

您需要遍历列表,然后将列表中的每个元素作为单个元素放入数组中。

for (int j = 0; j < headers.size(); j++) {
        array[j] = headers.get(j).toString();

答案 1 :(得分:0)

由于int validate( char *str ) { if ( str[0] < '0' || str[0] > '2' ) return 0; if ( str[1] < '0' || str[1] > '9' ) return 0; if ( str[2] != ':' ) return 0; if ( str[3] < '0' || str[3] > '5' ) return 0; if ( str[4] < '0' || str[4] > '9' ) return 0; if ( str[5] != '\0' ) return 0; if ( str[0] == '2' && str[1] > '3' ) return 0; return 1; } 是列表&lt;&gt;,您必须使用

header

因为您在列表中进行迭代,并且必须使用headers.get(j).toString()方法指定项目。

get

答案 2 :(得分:0)

您应该指定array[j] = headers.get(j).toString();而不是array[j] = headers.toString();

答案 3 :(得分:0)

根据您的评论,您需要使用,

for (int j = 0; j < headers.size(); j++) {
        array[j] = (String) headers.get(j).get("name");

此外,在打印数组时,您需要使用

Arrays.toString(array);