gpt4 book ai didi

java - 如何使用不同数量的命令行参数构建对象?

转载 作者:行者123 更新时间:2023-12-03 23:42:55 25 4
gpt4 key购买 nike

我使用构建器模式来创建一个对象。问题是我必须从命令行获取参数。我想传递一到六个参数,并根据参数数量调用相关方法。
例如,如果我传递 3 个参数,程序将调用前三个方法; 4 个参数的前四种方法,依此类推;

ExampleClass obj = new ExampleClass.Builder()
.method1(args[0])
.method2(args[1])
.method3(args[2])
.build();
甚至有可能有效地制作它吗?我唯一想到的是反射(reflection),但我不确定这是否是个好主意。

最佳答案

诀窍是将方法调用链分解为单独的语句,而不是尝试在一个语句中完成所有操作。将中间构建器对象保存在临时变量中,然后调用 build()在末尾。

ExampleClass.Builder builder = new ExampleClass.Builder();

if (args.length >= 1) { builder = builder.method1(args[0]); }
if (args.length >= 2) { builder = builder.method2(args[1]); }
if (args.length >= 3) { builder = builder.method3(args[2]); }
if (args.length >= 4) { builder = builder.method4(args[3]); }
if (args.length >= 5) { builder = builder.method5(args[4]); }
if (args.length >= 6) { builder = builder.method6(args[5]); }

ExampleClass obj = builder.build();

关于java - 如何使用不同数量的命令行参数构建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64685550/

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