获取传递给方法的参数(作为Object)(使用Spring AOP)

时间:2015-10-27 11:29:33

标签: java reflection parameters

如何从给定类型的方法参数中获取Object? 假设我有:

public void methodWithParameters(MyClass object, OtherClass otherObject) {
    //...
}

现在我正在尝试获取MyClass类型的对象。

public Object getObject() {
    Method method = //get methodWithParameters
    Parameters[]parameters = method.getParameters();
        for (Parameter parameter : parameters) {
            if (parameter.getType().equals(MyClass)) {
                return //object that was passed to methodWithParameters
            }
        }
}

2 个答案:

答案 0 :(得分:0)

您可以使用instanceof检查对象是否属于任何特定类型。

public static void main(String[] args) {
        MyClass myclass= new MyClass();
        System.out.println("myclass instanceof MyClass: " + (myclass instanceof MyClass));
        System.out.println("myclass instanceof OtherClass: " + (myclass instanceof OtherClass));
        }

输出

myclass instanceof MyClass:true
myclass instanceof OtherClass:false

答案 1 :(得分:0)

正如我在评论中提到的那样 - 我试图用一个方面来抓住这个论点。关键是 - 我的问题被错误地问了(对不起)。我正在寻找的答案是

JoinPoint#args()

希望将来可以帮助某人。