--key=value 格式的 Java 命令行参数
2022-09-03 12:25:00
有没有一种智能/简单的方法来使用 --key=value 格式的命令行参数?我只是快速地对args[i]进行了检查,以查看它是否包含我的一个键,然后获取该键的值并为它设置一个变量,但是必须有更好的方法。我似乎无法通过谷歌搜索找到任何好东西,所以我一定是在搜索错误的东西。任何想法/见解?
谢谢!
有没有一种智能/简单的方法来使用 --key=value 格式的命令行参数?我只是快速地对args[i]进行了检查,以查看它是否包含我的一个键,然后获取该键的值并为它设置一个变量,但是必须有更好的方法。我似乎无法通过谷歌搜索找到任何好东西,所以我一定是在搜索错误的东西。任何想法/见解?
谢谢!
尝试该选项,允许设置配对:-D
key=value
运行命令;注意-Dkey
java -Dday=Friday -Dmonth=Jan MainClass
在代码中:
String day = System.getProperty("day");
String month = System.getProperty("month");
截至目前,无法转换为Map而不是String。--key=value
public static void main(String[] args) {
HashMap<String, String> params = convertToKeyValuePair(args);
params.forEach((k, v) -> System.out.println("Key : " + k + " Value : " + v));
}
private static HashMap<String, String> convertToKeyValuePair(String[] args) {
HashMap<String, String> params = new HashMap<>();
for (String arg: args) {
String[] splitFromEqual = arg.split("=");
String key = splitFromEqual[0].substring(2);
String value = splitFromEqual[1];
params.put(key, value);
}
return params;
}
希望这有帮助!