如何设置变量的值,然后在计算后使用注释处理将其读取?我知道如何通过反射来做到这一点,但是我需要使用注释处理机制。可能吗?我需要更改注释中的某些内容吗?
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Bind {
}
public class Model1 {
@Bind private int LL;
@Bind private double[] twKI;
@Bind private double[] twKS;
@Bind private double[] twINW;
@Bind private double[] twEKS;
@Bind private double[] twIMP;
@Bind private double[] KI;
@Bind private double[] KS;
@Bind private double[] INW;
@Bind private double[] EKS;
@Bind private double[] IMP;
@Bind private double[] PKB;
public Model1() {}
public void run() {
PKB = new double[LL];
PKB[0] = KI[0] + KS[0] + INW[0] + EKS[0] - IMP[0];
for (int t=1; t < LL; t++) {
KI[t] = twKI[t]* KI[t-1];
KS[t] = twKS[t]* KS[t-1];
INW[t] = twINW[t]* INW[t-1];
EKS[t] = twEKS[t]* EKS[t-1];
IMP[t] = twIMP[t]* IMP[t-1];
PKB[t] = KI[t] + KS[t] + INW[t] + EKS[t] - IMP[t];
}
}
}
/* Part of the code in which I set the values */
public class Controller{
...
private Class class1;
private Object modelName;
class1 = Class.forName("zad1.models."+model);
modelName = class1.newInstance();
Field fieldtkWI = class1.getDeclaredField("twKI");
fieldtkWI.setAccessible(true);
fieldtkWI.set(modelName, twKI);
}
编辑: 该注释允许:
在执行计算之前将值分配给模型的输出变量,
下载模型中计算出的变量值(计算完成后)。