+-
java – 将表示键值对的字符串转换为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 class.

以下是如何使用它以及一些测试代码:

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);
    }

}
点击查看更多相关文章

转载注明原文:java – 将表示键值对的字符串转换为Map - 乐贴网