java在我的方法修改了参数后,我怎样才能得到参数对象?
在方法做了一些修改之后,我试图使用Spring AOP/AspectJ来访问我的参数
例如:
public void changeValueOnFoo(Foo fooToModify) {
fooToModify.changeValue("1");
}
@Around("execution(* com.my.FooFunctions.changeValueOnFoo(..)")
public void interceptFoo(ProceedingJoinPoint jp) {
Foo f = (Foo) jp.getArgs()[0];
System.out.println(f.getValue()); // will print "1"
jp.proceed();
Foo modifiedf = jp.getArgs()[0];
System.out.println(modifiedF.printValue()); // will print "2"?
}
这样的事情可能吗?处理,然后在该方法修改后调用参数?或者getArgs
只是持有一个指向参数原始状态的指针,所以这是不可能的
共 (0) 个答案