@Around("toSomething()")
public void check(ProceedingJoinPoint pJPoint){
Object[] args=pJPoint.getArgs();
makeSomeChange(args);
pJPoint.proceed(args);
}
在上述情况下,在args中所做的更改是否会反映在调用方法中。
我真正要求的是,继续将此参数传递给被AspectJ截获其执行的方法。很抱歉没有问清楚。
发布于 2014-10-01 18:40:37
不,要更改args
数组中的值,您必须执行以下操作:
args[0] = process(args[0]);
在Java中,不能通过将值传递给方法来更改数组中的值,必须传递数组,或者在调用后修改数组。
我不知道您的change(...)
方法做了什么,但是无论它设置什么,都不会放入args数组中
https://stackoverflow.com/questions/26139384
复制相似问题