Java:将方法作为参数传递的简便方法

时间:2018-07-10 18:03:21

标签: java reflection

我正在尝试为自己创建一个更好的日志记录情况。目前,我只是自定义编写字符串并记录该字符串。我想做的是知道我正在记录的确切的Class#方法组合。目前,我正在写它,例如:

Logger.push(String s),其中s类似于"ClassA#myMethod: Successfully implemented database

我想做的事情使我自己更容易一些,如果可能的话,我减少了必须写的文字。我不想键入ClassA#myMethod,相反,我想做的就是传递一个方法并使用反射来获得所需的名称。这是我创建的示例记录器功能:

public static void push(String msg, Method cont){
    logger.info(cont.getDeclaringClass().getSimpleName() + "#" + cont.getName() + ": " + msg);
}

我的问题是传递方法。理想情况下,我正在寻找类似this的东西,但是要寻找实际的方法。目前,我能想到的唯一方法是:  Logger.push("Hello World", getClass().getDeclaredMethods("thisMethodName");

我只是想知道是否可以更轻松地获取当前使用的功能。谢谢!

0 个答案:

没有答案