我们如何使用 Guice 库中的 AOP 对方法参数进行某些断言?
我为线性代数计算实现了一个 Vector 类。
class Vector{
int n; // dimensions
Vector sum(List<Float> v2){...}
Vector sub(List<Float> v2){...}
...
}
Vector 类中的方法通常采用 float 列表v2
。v2
在进行计算之前,如果与 vector 的维度不同,我想抛出一个异常this
。
if (v2.size() != n)
throw new IllegalArgumentException(String.format("v2.size() should be %d, but is %d.", n, v2.size()));
我可以为每个v2
作为参数的方法复制相同的代码,但这很乏味。
有没有一种简单的方法可以使用 Guice 中的 AOP 功能来做同样的事情?就像是:
Vector sum(@Dim(this.n) List<Float> v2){...}