首页 > 解决方案 > Java反射:构造函数参数顺序是否有保证

问题描述

我创建了自己的注释来注释构造函数:

@MyConstructorAnnotation
public Constructor(int param1, int param2) {
    this.param1 = param1;
    this.param2 = param2;
}

我编写了一个注释处理器,它读取每个带注释的构造函数的参数名称。这是在process()方法内部:

for (Element element : annotatedElements)) {
    Field paramsField = element.getClass().getField("params");
    Iterable parameters = (Iterable) paramsField.get(element);
        for (Object parameter : parameters) {
            String name = parameter.toString();
            // do something with the name
        }
}

这可能不是很干净,但它让我得到了“param1”和“param2”的名字。我用 10 多个参数对其进行了测试,并且顺序仍然正确。我的问题是:是否保证参数的顺序正确?

标签: javareflectionannotationsannotation-processing

解决方案


推荐阅读