gpt4 book ai didi

java - 将当前执行函数的参数动态传递给其他函数

转载 作者:行者123 更新时间:2023-11-30 02:03:00 24 4
gpt4 key购买 nike

片段1

public static String formatDateToString(BigDecimal param1, Date param2, String param3) {
Utils.checkNullOrEmpty(?????); //I want the function params here dynamically

}

片段2

public static boolean checkNullOrEmpty(Object...values){
for(Object value: values){
if(value==null){
return true;
}
if(value instanceof String){
String val = (String) value;
if(val.isEmpty()){
return true;
}
}
}
return false;
}

如何动态获取当前函数的参数。 (引用片段1)

这对于具有许多参数的函数来说很有帮助,以避免单独的 null 检查。

我可以使用

获取参数类型
new Object(){}.getClass().getEnclosingMethod().getParameterTypes()

缺点是它创建了一个新对象,并且只提供了类型,但没有提供值。

最佳答案

Java 没有相当于 JavaScript 的 arguments 对象,并且反射不提供此信息。但由于参数列表规定了您将接收哪些参数,因此只需直接使用参数即可:

public static String formatDateToString(BigDecimal param1, Date param2, String param3) {
Utils.checkNullOrEmpty(param1, param2, param3);
}

是的,这确实意味着重复参数名称,但您无法解决这个问题。

关于java - 将当前执行函数的参数动态传递给其他函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52198582/

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