使用 Splitter KeyValueGenerator 获取空值的 IllegalArgumentException
Getting IllegalArgumentException for null value in using Splitter KeyValueGenerator
我将 guava Splitter 用作:
Splitter.on(",").withKeyValueSeperator(Splitter.on("=").limit(2)).split(<My required String>);
我的输入字符串如下:
A=1,B=2,C=null....
如果 key(A,B,C) 的 value(1,2) 的 none 为空,则上述拆分器工作正常,否则失败并显示 "IllegalArgumentException: Chunk[>null] is not a valid entry"
您提供的输入工作正常:
@Test
public void shouldSplitValues() {
//given
Splitter.MapSplitter mapSplitter = Splitter.on(",").withKeyValueSeparator("=");
String input = "A=1,B=2,C=null";
//when
Map<String, String> result = mapSplitter.split(input);
//then
assertThat(result)
.containsExactly(entry("A", "1"),
entry("B", "2"),
entry("C", "null"));
// {A=1, B=2, C=null}
}
该消息表明这是您输入的字符串中的错误,即 if
String input = "A=1,B=2,>null";
然后我确实得到 java.lang.IllegalArgumentException: Chunk [>null] is not a valid entry
上面的代码。
我将 guava Splitter 用作:
Splitter.on(",").withKeyValueSeperator(Splitter.on("=").limit(2)).split(<My required String>);
我的输入字符串如下:
A=1,B=2,C=null....
如果 key(A,B,C) 的 value(1,2) 的 none 为空,则上述拆分器工作正常,否则失败并显示 "IllegalArgumentException: Chunk[>null] is not a valid entry"
您提供的输入工作正常:
@Test
public void shouldSplitValues() {
//given
Splitter.MapSplitter mapSplitter = Splitter.on(",").withKeyValueSeparator("=");
String input = "A=1,B=2,C=null";
//when
Map<String, String> result = mapSplitter.split(input);
//then
assertThat(result)
.containsExactly(entry("A", "1"),
entry("B", "2"),
entry("C", "null"));
// {A=1, B=2, C=null}
}
该消息表明这是您输入的字符串中的错误,即 if
String input = "A=1,B=2,>null";
然后我确实得到 java.lang.IllegalArgumentException: Chunk [>null] is not a valid entry
上面的代码。