You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中跨类调用命令行控制的布尔标志位方法咨询

实现方案

要完成这个需求其实很简单,你只需要在目标类里按以下步骤操作即可:

1. 实例化CLIReader类

首先创建CLIReader的实例,因为我们需要调用它的参数解析方法和标志获取方法。

2. 传入命令行参数完成解析

调用readCommandLineParameters方法,把程序启动时的命令行参数数组args传进去,让它完成参数解析并设置spit_everythingtoLog标志位。

3. 获取标志位并判断输出

通过getFlag()方法拿到标志的布尔值,根据这个值打印对应的内容。

完整代码示例

假设你的入口类是Main,代码可以写成这样:

public class Main {
    public static void main(String[] args) {
        // 初始化CLIReader实例
        CLIReader cliReader = new CLIReader();
        
        // 解析命令行参数
        cliReader.readCommandLineParameters(args);
        
        // 根据标志位输出结果
        System.out.println(cliReader.getFlag() ? "Yes" : "No");
    }
}

重要注意事项

  • 先修正CLIReader中readCommandLineParameters方法的语法错误:原代码里catch (Exception e)块后面多了一个多余的} else {,这会导致编译失败,你需要把这个错误的代码结构调整正确,确保方法能正常运行。
  • 确保CLIReader类中已经正确声明了serverUrl、user、password这些成员变量(原代码里没展示它们的定义,必须保证这些变量存在才能正常解析参数)。

这样一来,当用户传入包含-v的命令行参数时,程序会输出Yes;没有传入-v时则输出No。

内容的提问来源于stack exchange,提问作者Rajat Krishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 07:14:10