如何将字符串(表示键值对)转换为Map
How to convert a string (representing key-value pairs) to Map
如何将字符串转换为映射:
映射 m = 转换("A=4 H=X PO=87"); // 什么是转换?
System.err.println(m.getClass().getSimpleName()+m);
预期产出
HashMap{A=4, H=X, PO=87}
无需重新发明轮子。 Google Guava 库提供了 Splitter class.
以下是如何将它与一些测试代码一起使用:
包 com.sandbox;
进口com.google.common.base.Splitter;
导入 org.junit.Test;
导入java.util.Map;
导入静态org.junit.Assert.assertEquals;
public class 沙盒测试 {
@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);
}
}
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);
}
}
如何将字符串转换为映射:
映射 m = 转换("A=4 H=X PO=87"); // 什么是转换? System.err.println(m.getClass().getSimpleName()+m);
预期产出
HashMap{A=4, H=X, PO=87}
无需重新发明轮子。 Google Guava 库提供了 Splitter class.
以下是如何将它与一些测试代码一起使用:
包 com.sandbox;
进口com.google.common.base.Splitter; 导入 org.junit.Test;
导入java.util.Map;
导入静态org.junit.Assert.assertEquals;
public class 沙盒测试 {
@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);
}
}
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);
}
}