gpt4 book ai didi

java - 关于注释+类成员顺序的问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:48 25 4
gpt4 key购买 nike

我想做这样的事情:

public class Foobar {
@Tag final private int foo;
@Tag final private int bar;
@Tag final private int baz;
@Tag final private int quux;

static private final TagValidator validator =
TagValidator.autoGenerate(Foobar.class);

public Foobar(Something something)
{
validator.validate(something);
this.foo = something.method1();
this.bar = something.anotherMethod();
this.baz = something.someOtherMethod();
this.quux = something.yetAnotherMethod();
}
... other methods ...
}

其中 TagValidator.autoGenerate() 使用反射 + 注释解析来获取我的 Foobar 类中所有已用 @Tag 标记的成员,并做一些又脏又累又乏味的事情我需要为几节课做的事情。

我的问题是,它会按照声明的顺序查看这些成员吗?我同意这样做会更安全:

public class Foobar {
@Tag(0) final private int foo;
@Tag(1) final private int bar;
@Tag(2) final private int baz;
@Tag(3) final private int quux;

...
}

但我觉得很懒:-)

另外,类和注解是否可以同名?

最佳答案

Class.getDeclaredFields()Class.getFields() 上引用 JavaDocs

The elements in the array returned are not sorted and are not in any particular order.

从可维护性的角度来看,如果顺序很重要,请将其包含在您的注释中,或者最好不要依赖顺序。

是的,如果类和注释位于不同的包中,则它们可以具有相同的名称。基本上相同的规则适用于类和接口(interface)。

关于java - 关于注释+类成员顺序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1165524/

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