将表示键值对的字符串转换为Map

如何将String转换为Map:

Map m = convert("A=4 H=X PO=87"); // What's convert?

System.err.println(m.getClass().getSimpleName()+m);

预期产量:

HashMap{A=4, H=X, PO=87}

回答:

无需重新发明轮子。Google

Guava库提供了Splitter该类。

这是如何与一些测试代码一起使用的:

package com.sandbox;

import com.google.common.base.Splitter;

import org.junit.Test;

import java.util.Map;

import static org.junit.Assert.assertEquals;

public class SandboxTest {

@Test

public void testQuestionInput() {

Map<String, String> map = splitToMap("A=4 H=X PO=87");

assertEquals("4", map.get("A"));

assertEquals("X", map.get("H"));

assertEquals("87", map.get("PO"));

}

private Map<String, String> splitToMap(String in) {

return Splitter.on(" ").withKeyValueSeparator("=").split(in);

}

}

以上是 将表示键值对的字符串转换为Map 的全部内容, 来源链接: utcz.com/qa/427303.html

回到顶部