仅在Java中不为null时如何将变量作为参数传递

问题描述 投票:0回答:1

我有以下代码存根,我正在其中从属性文件中读取一组值。仅在它们不为NULL时,我才需要使用这些值将其作为参数传递给函数。

public static void main(String[] args) {
String arg1 = "arg1";
String arg2 = "arg2";
String arg3 = null;
String arg4 = "arg4";
.
.
.

testMethod(arg1, arg2, arg3);

}

public void testMethod(String... values) {

}

在以上代码段中。我只想因为参数arg3为NULL才用参数arg1,arg2,arg4调用testMethod()。

参数的数量可能会有所不同。不会一直都是4。

我的代码应动态检查参数是否为NULL并将其传递给testMethod()。

我可以用Java实现吗?如果是,有人可以帮助我..

java parameter-passing
1个回答
0
投票

是的,有多种方法可以执行此操作,因为...语法对于传递参数数组而言基本上很短。因此,一种方法是例如:

testMethod(Arrays.stream(args).filter(Objects::nonNull).toArray(String[]::new))

© www.soinside.com 2019 - 2024. All rights reserved.