gpt4 book ai didi

java - args4j:如果给出/未给出另一个参数,如何使参数成为必需的?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:21 25 4
gpt4 key购买 nike

@Options(name="--in-file")
String fileName;

@Option(name="--table")
String table;

当且仅当未为 --in-file 提供任何值时,我想让 --table 选项成为必需选项。我该怎么做呢?我知道有一些解决方案(我认为至少)我可以用多个类来做到这一点,但是对于一个简单的程序中只有两个参数来说这似乎有点过分了。

我知道我也可以在解析完成后手动检查值,但这似乎违背了使用 args4j 的目的。

最佳答案

您可以像您提到的那样使用forbids

@Options(name="--in-file", forbids{"--table"})
String fileName;

@Option(name="--table", forbids={"--in-file"})
String table;

你可以在你的类中添加检查条件。

if (fileName == null && table == null) {
throw new CmdLineException();
}

您可以将异常消息设置为与设置必需选项时显示的消息相同。

关于java - args4j:如果给出/未给出另一个参数,如何使参数成为必需的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28161838/

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