Java注释,为其设置字段';姓名

Java注释,为其设置字段';姓名,java,annotations,Java,Annotations,是否有任何Java注释将字段值设置为其名称,例如: public interface Protocol { @Whatever String START; // Here @Whatever annotation would set START to "START" in any static string field. } 不可以,但可以使用枚举类 public enum Protocol { START, END } 然后你会写: System.out.printl

是否有任何Java注释将字段值设置为其名称,例如:

public interface Protocol {
    @Whatever String START; // Here @Whatever annotation would set START to "START" in any static string field.
}

不可以,但可以使用枚举类

public enum Protocol  {
   START,
   END
}
然后你会写:

System.out.println(Protocol.START);

您将获得“开始”

否,但您可以使用enum类

public enum Protocol  {
   START,
   END
}
然后你会写:

System.out.println(Protocol.START);

您将得到“START”

似乎需要大量开销来避免键入:`=“START”`不幸的是,无法修改使用注释编译类的方式。可以基于注释生成其他类,也可以基于注释以不同方式处理类,但不能修改类本身。这似乎是一个相反的论点,但他们几乎对编译器进行了黑客攻击(他们没有也不能单独使用公共API)。似乎避免键入的开销很大:`=“START”`不幸的是,无法修改使用注释编译类的方式。可以基于注释生成其他类,也可以基于注释以不同方式处理类,但不能修改类本身。这似乎是一个相反的论点,但他们几乎黑客编译器(他们不,也不能单独使用公共API)。