我刚刚读到,无法在单个数组元素(bug link)上定义切入点。考虑到我确实需要检测数组元素修改,我想知道是否有任何解决方法可以解决这类问题(模式或其他问题)。
中描述的内容public class FieldPointcuts {
static int ar[];
public static void main(String[] args) {
ar = new int[] {100}; //set
ar[0] = 200; //get
}
}
和建议
before(int i, Object s, Object[] a):
arrayset() && args(i, s) && target(a)
{
System.out.println (" Arrayset:["+i+"/"+(a.length-1)+"] = "+s) ;
}
提前致谢。
答案 0 :(得分:0)
不幸的是,我无法想到任何可行的方法。我能想到的最好的方法是使用Lists而不是数组,但是如果你编织成第三方代码,这是不可能的。