@Around("toSomething()")
public void check(ProceedingJoinPoint pJPoint){
Object[] args=pJPoint.getArgs();
makeSomeChange(args);
pJPoint.proceed(args);
}
在上面的例子中,args中所做的更改会反映在调用方法中。
我真正要问的是,将继续将此args传递给执行被AspectJ拦截的方法。很抱歉没问清楚。
答案 0 :(得分:1)
不,为了更改args
数组中的值,您必须这样做:
args[0] = process(args[0]);
在Java中,您无法通过将值传递给方法来更改数组中的值,您必须传递数组,或者在调用后修改数组。
我不知道你的change(...)
方法做了什么,但是无论它设置的是什么都没有放在args数组中