gpt4 book ai didi

java - 为什么 pointcut.matches(String.class) 返回 "true"

转载 作者:行者123 更新时间:2023-11-30 09:51:53 25 4
gpt4 key购买 nike

我是spring AOP的新手,我写了一个小测试aspectJ AOP切入点,

public void test1() {

AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
pointcut.setExpression("execution(public * java.util.*.*(..))");

System.out.println(pointcut.matches(String.class)) ;
}

我预计它会打印出“false”,因为 String.class 不包含在 java.util 包中。但实际上它给了我“真实”,我犯了什么错误?

版本:spring 3.0

提前致谢。

最佳答案

这个切入点正在从 java.util 包和子包中寻找方法的执行,其中有几个在 String 类。例如String.replaceFirst(String, String)的来源看起来如下(我插入的评论):

public String replaceFirst(String regex, String replacement) {
return
/* java.util.regex.Pattern */ Pattern.compile(regex).matcher(this)
/* java.util.regex.Matcher */ .replaceFirst(replacement);
}

所以匹配是正确的。

关于java - 为什么 pointcut.matches(String.class) 返回 "true",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4468097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com