7

我有以下回应

T2269|175@@2a1d2d89aa96ddd6|45464047

通过使用split("\\|")我已转换为字符串数组对象。每个字段的含义如下:

T2269                  id
175@@2a1d2d89aa96ddd6  cid
45464047               refno

不,我必须将其转换为 HashMap 对象。他们对上述问题有任何解决方案吗?

以上述响应为例。实际上,字符串数组对象的长度是 36。

4

3 回答 3

11

您必须循环并一一添加结果。用键声明一个数组,例如:

static String[] keys = new String[]{"id", "cid", "refno", ...};

接着

String[] s = text.split("\\|");
for (int i = 0; i < s.length; i++)
  map.put(keys[i], s[i]);
于 2012-07-05T08:33:59.380 回答
10
final String[] fields = input.split("\\|");
final Map<String, String> m = new HashMap<String, String>();
int i = 0;
for (String key : new String[] {"id", "cid", "refno"})
  m.put(key, fields[i++]);
于 2012-07-05T08:33:58.467 回答
0

键应该是唯一的,因此显然使用 ID 作为键是非常有意义的,并且您可以将值存储为包含 id、cid、refno 的数组/列表,或者您可以创建一个包含这些字段的对象并将其存储.

于 2012-07-05T08:35:26.180 回答