Java运行获取动态参数,最常用的解决方案

在 Java 中,最常用的解决方案是通过 命令行参数系统属性 来传递动态参数,并在控制台打印。具体来说,可以通过两种常见方式传递参数:

  1. 命令行参数:通过 java -jar 启动时的参数,传递给 main() 方法的 String[] args 数组。
  2. 系统属性:使用 -D 选项传递参数,通过 System.getProperty() 获取。

解决方案 1:通过命令行参数传递动态参数

启动 JAR 文件时,可以将参数作为命令行参数传递给 main 方法的 args 数组,并在程序中读取这些参数。

启动命令:
 
java -jar Main.jar 123 456 789
代码示例:
public class Main {
    public static void main(String[] args) {
        // 打印命令行参数
        System.out.println("Number of arguments: " + args.length);
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argument " + (i + 1) + ": " + args[i]);
        }
    }
}
输出示例:
Number of arguments: 3
Argument 1: 123
Argument 2: 456
Argument 3: 789

解决方案 2:通过 -D 系统属性传递动态参数

-D 参数是传递给 JVM 的系统属性,可以通过 System.getProperty() 方法获取。在运行时,可以动态指定这些参数。

启动命令:
java -Darg1=123 -Darg2=456 -Darg3=789 -jar Main.jar
代码示例:
public class Main {
    public static void main(String[] args) {
        // 获取系统属性
        String arg1 = System.getProperty("arg1");
        String arg2 = System.getProperty("arg2");
        String arg3 = System.getProperty("arg3");

        // 打印系统属性
        System.out.println("arg1: " + arg1);
        System.out.println("arg2: " + arg2);
        System.out.println("arg3: " + arg3);
    }
}

输出示例:
arg1: 123
arg2: 456
arg3: 789

总结:

  • 命令行参数 (args[]) 是通过传递给 main 方法的字符串数组,可以直接在代码中访问,适用于简单的输入。
  • 系统属性 (-D) 允许以键值对的形式传递参数,并且可以使用 System.getProperty() 来获取,适合传递配置项和环境变量。

你可以根据需要选择一种方式,或者两者结合使用。如果参数是动态配置或环境依赖,推荐使用系统属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值