Java 你怎么办。。和*aspectj中的平均值

Java 你怎么办。。和*aspectj中的平均值,java,annotations,aspectj,Java,Annotations,Aspectj,我的理解是,。是0-Many参数,*是任何名称的一个参数。这是正确的吗 aspectj是否支持像args(..,myArg,…)这样的语法 这是来自AspectJ网站: *表示除“.”以外的任意数量的字符 。表示任意数量的字符,包括任意数量的“.” 更新 从AspectJ开始-对于方法签名: 在方法签名中,通配符。。用于表示方法采用的任何类型和数量的参数 *指定了一个参数其他人已经回答了我面前的部分问题,因此我只修改: ,bla,…不起作用,因为如果将参数bla绑定到一个变量,则在参数列表中多次

我的理解是,
0-Many
参数,
*
任何
名称的一个参数。这是正确的吗


aspectj是否支持像
args(..,myArg,…)
这样的语法

这是来自AspectJ网站:

*
表示除“.”以外的任意数量的字符

表示任意数量的字符,包括任意数量的“.”

更新 从AspectJ开始-对于方法签名:

在方法签名中,通配符。。用于表示方法采用的任何类型和数量的参数


*
指定了一个参数

其他人已经回答了我面前的部分问题,因此我只修改:

,bla,…
不起作用,因为如果将参数
bla
绑定到一个变量,则在参数列表中多次出现匹配类型的情况下,可能会有多个匹配组合。例如:

void foo(int a、字符串b、字符串c、文件d)

如果建议是:

before(stringbla):调用(voidfoo(..,bla,..)&&args(bla)


bla
是否应该绑定到
b
c
String
值?

var-arg只能是Java中的最后一个参数(在末尾)。编译器/解释器很难/不可能知道在您的情况下传递的参数实际上是
myArg
*“通配符,则任何参数都将匹配,如果它是特殊的通配符”.“,则任何数量的参数都将匹配“是的,您是对的,我也相应地更新了方法签名的答案。AspectJ不支持
(..,myarg,..)
,但不确定原因。