【问题标题】:custom annotations自定义注释
【发布时间】:2009-12-22 11:09:01
【问题描述】:

如果我像这样创建自定义注释:

public @interface TODO
{
    String msg();    
    String start_date();
}

然后是一个方法:

@TODO
(
   msg="will be developed!",
   start_date="05/01/2010"
)
public static void Calculator()
{
}

在我调用它之后:

Calculator();

如果我想让编译器警告我,我该怎么做?

【问题讨论】:

  • 你问题的结尾不是很明白... :-(
  • 我希望当我编译时,我会向编译器发出警告,就像我放了 @Deprecated 或 @Override 注释一样...

标签: java annotations


【解决方案1】:

几周前有一个类似的问题。 Here is the link 问题和我的答案。

您可以根据需要轻松调整此代码。

【讨论】:

    【解决方案2】:

    您必须编写一个annotation processor 并调用apt 才能在您的代码上运行它。

    【讨论】:

      【解决方案3】:

      使用Annotation Processing Tool (apt) 制作您自己的AnnotationProcessor 并使用javax.annotation.processing.Messager 打印消息

      【讨论】:

        【解决方案4】:

        如果您使用的是 IDE,有很多不错的选择。对于 Eclipse:

        • 使用内置插件,将代码中的所有TODOFIXME等词定位到一个特殊的视图中。
        • 注册您自己的自定义构建器,它可以向您显示警告

        【讨论】:

        • 用Java编译器不可以吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-05
        • 2015-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多