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

片段 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)


这将有助于具有许多参数的函数避免单独的空检查。


我能够使用获取参数类型


new Object(){}.getClass().getEnclosingMethod().getParameterTypes()

缺点是它创建了一个新对象,并且只提供我的类型而不是值。


FFIVE
浏览 109回答 1
1回答

LEATH

Java 没有 JavaScriptarguments对象的等价物,反射不提供此信息。但由于参数列表规定了您将接收的参数,因此只需直接使用参数:public static String formatDateToString(BigDecimal param1, Date param2, String param3) {    Utils.checkNullOrEmpty(param1, param2, param3);}是的,这确实意味着重复参数名称,但您无法解决这个问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java