我有Java命令行应用程序,在启动. jar文件时使用参数。参数看起来像
--exclude parent1=child1,child2;parent2=child3;parent3
我想将参数转换为<code>HashMap
我尝试了Streams和拆分()函数,但我无法将子字符串转换为字符串数组
Arrays.stream(gotData.split(";"))
.map(s -> s.split("="))
.collect(Collectors.toMap(s -> s[0], s -> s[1].split(",")));
为了解决您的问题,您必须每次检查您的数据,因为在收集部分,您尝试为不存在的parent3
拆分s[1]
。为了避免此问题,您可以在这样做之前检查数组的长度
Arrays.stream(gotData.split(";"))
.map(s -> s.split("="))
.collect(Collectors.toMap(s -> s[0], s -> {
// If there size of array great than 1 mean there are children.
if (s.length > 1) {
return s[1].split(",");
}
// Else just return an empty array.
return new String[0];
}));
如果您有其他情况,可能需要在此代码中添加其他条件以避免任何类型的错误。
显示响应:
response.forEach((k, v) -> System.out.println(k + " - " + Arrays.toString(v)));
奥普特斯
parent1 - [child1, child2]
parent3 - []
parent2 - [child3]
问题内容: 我正在使用Java,并且有一个JSON字符串: 然后我的Java地图: 我想将来自JSONObject的所有数据存储在该HashMap中。 谁能为此提供代码?我想使用图书馆。 问题答案: 我几天前通过递归编写了这段代码。
我使用的是Java,我有一个字符串是JSON: 我希望将JSONObject中的所有数据存储在HashMap中。 有人能为此提供代码吗?我想使用库。
如果我有 我去拿 <代码>空 有没有一种优雅的方法可以将其更改为空字符串? 我可以做: 上下文是我将生成以下表单的字符串: 字符串myString=a“\n”b“\n”c 但我想知道是否有更好的解决方案。
为什么toString方法返回jibberish?
问题内容: 如何将经典字符串转换为f字符串? 输出: 所需的输出: 问题答案: f字符串是 语法 ,而不是对象类型。您不能将任意字符串转换为该语法,该语法会创建一个字符串对象,而不是相反。 我假设您想用作模板,因此只需在对象上使用方法: 如果要提供可配置的模板服务,请创建一个包含所有可以插值的字段的名称空间字典,并与调用语法一起使用以应用名称空间: 然后,用户可以在字段中的名称空间中使用任何键(或
这是代码,我正在尝试将分钟数(字符串类型)转换为整数类型,但我有NumberFormatException错误,有人能帮我吗,我如何处理这种情况。谢谢