0

I have a String that has been constructed from another LinkedHashMap using toString method, and I want to do the reverse in creating another LinkedHashMap<String, String> with this String representation of the previous LinkedHashMap.

Is it possible withing using String splits and manually doing it in a loop calling LinkedHashMap.put() ?

I think this could work?

LinkedHashMap params = new LinkedHashMap();

String[] split = paramsString2.split(",");

for (int i = 0; i < split.length; i++) {
    String[] nameValue = split[i].split("=");
    params.put(nameValue[0], nameValue[1]);

}

return params;
4

2 に答える 2

1

文字列が次の形式であると仮定します

key1=value1;key2=value2;key3=value3

はい、可能です。string.split(";")マップ エントリを配列に分割するために使用します。

次に、配列をループし、エントリごとに を使用string.split("=")してキーを値から分離します。

次に、キーと値を new に追加しますLinkedHashMap

String[] parts = entry.split("=");
map.put(parts[0], parts[1]);   //parts[0] is the key, parts[1] is the value
于 2013-10-28T10:30:30.907 に答える
0

確かにそれは可能ですが、なぜそのような恐ろしいことをしなければならないのですか?

とにかく、はい、可能です。グアバライブラリを使用してそのような仕事を達成することもできます。 グアバライブラリ

于 2013-10-28T10:29:05.540 に答える