gpt4 book ai didi

java - Apache Commons CLI : Getting list of values for an option

转载 作者:IT老高 更新时间:2023-10-28 21:09:34 25 4
gpt4 key购买 nike

对于 CLI,我需要传入一个整数数组作为特定选项的输入。

示例 - 下面的命令将接收一个 customerIds 数组并执行一些操作。

myCommand -c 123 124 125

我已经使用 Apache commons CLI 实现了 CLI,并且我正在使用 getOptionValues("c") 来检索这个数组。

问题是,这仅返回数组中的第一个元素,即 [123],而我希望它返回 [123, 124, 125]。

我的代码的精简版,

CommandLine cmd;
CommandLineParser parser = new BasicParser();
cmd = parser.parse(options, args);
if (cmd.hasOption("c")){
String[] customerIdArray = cmd.getOptionValues("c");
// Code to parse data into int
}

有人可以帮我找出这里的问题吗?

最佳答案

我想在这里添加这个作为对@Zangdak 的回答,并添加我对同一问题的发现。

如果您不调用 #setArgs(int),则会发生 RuntimeException。当您知道此选项的确切最大参数数量时,请设置此特定值。当此值未知时,Option 类有一个常量:Option.UNLIMITED_VALUES

这将改变 gerrytans 对以下内容的回答:

Options options = new Options();
Option option = new Option("c", "c desc");
// Set option c to take 1 to oo arguments
option.setArgs(Option.UNLIMITED_VALUES);
options.addOption(option);

关于java - Apache Commons CLI : Getting list of values for an option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17180743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com