我有以下回复
T2269|175@@2a1d2d89aa96ddd6|45464047
通过使用拆分(" \\ |"),我已经转换为字符串数组对象。每个字段的含义如下:
T2269 id
175@@2a1d2d89aa96ddd6 cid
45464047 refno
不,我必须将其转换为HashMap对象。他们是上述的任何解决方案..
以上回答是举例。实际上,字符串数组对象的长度为36。
答案 0 :(得分:10)
您必须循环并逐个添加结果。 使用键声明一个数组,如:
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]);
答案 1 :(得分:8)
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++]);
答案 2 :(得分:0)
键应该是唯一的,因此显然使用ID作为键是完全合理的,并且您可以存储为包含id,cid,refno的数组/列表的值,或者您可以创建包含thos字段的对象并存储它。