Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java自定义注释/装饰器@测试_Java_Android_Annotations_Decorator_Compile Time - Fatal编程技术网

Java自定义注释/装饰器@测试

Java自定义注释/装饰器@测试,java,android,annotations,decorator,compile-time,Java,Android,Annotations,Decorator,Compile Time,我想这样做: public @interface Testing @测试 private void方法,该方法提供SwarmingIfUserTrieteStoUseThis(){ } 其中,@Testing是Java中的自定义注释/装饰器。我希望此@测试注释的行为与@已弃用的注释的行为几乎完全相同-如果我或其他人无意中尝试在代码的其他部分使用此注释,IDE将发出警告(并且方法名称在字体上也有一个删除)。前男友也是如此 我该怎么做 **注意:我不想使用@Deprecated,因为该方法没有被弃

我想这样做:

public @interface Testing
@测试

private void方法,该方法提供SwarmingIfUserTrieteStoUseThis(){

}

其中,
@Testing
是Java中的自定义注释/装饰器。我希望此
@测试
注释的行为与
@已弃用的
注释的行为几乎完全相同-如果我或其他人无意中尝试在代码的其他部分使用此注释,IDE将发出警告(并且方法名称在字体上也有一个删除)。前男友也是如此

我该怎么做

**注意:我不想使用
@Deprecated
,因为该方法没有被弃用,我只想将其用于测试目的


**这个标记也应该在编译时检查,而不是在运行时检查。

问题是,注释作为其名称,仅用于注释:) 创建这样的注释非常简单,您需要执行以下操作:

public @interface Testing
为了让IDE在编译时使用它,您必须编写一个插件


以下是我在另一个SO问题中发现的关于插件开发的问题。

听起来你在描述类似的东西,这是(以前称为“谷歌收藏”)的一部分。如果你真的创建了一个自己的,你可能会想要它


我不知道有任何钩子或特性会导致非
@弃用的
成员触发警告或IDE标志,就好像它们是
@弃用的
。因为镜像API和反射API不跟踪单独的表达式和语句(如文档化的),如果没有完整的java解析器,您可能不会有太多的运气来检测它。

< P>您可以考虑编写A来解决这个问题。当检测到
@Testing
注释时,IDE将显示Lint警告(例如,在Eclipse+ADT的情况下,黄色下划线)

Android工具文档中提供了一个详细的指南,用于扫描Java源文件以查找Lint的特定问题