您的位置:首页 > 编程语言 > Java开发

在Java中如何实现自己的annotation

2014-02-08 17:30 260 查看
1. 先定义annotation

2. 使用annotation

例子:

import java.lang.annotation.*;
import java.lang.reflect.Method;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@interface Test {
String info() default "";
}

class Annotated {
@Test(info = "AWESOME")
public void foo(String myParam) {
System.out.println("This is " + myParam);
}
}

class TestAnnotationParser {
public void parse(Class clazz) throws Exception {
Method[] methods = clazz.getMethods();

for (Method method : methods) {
if (method.isAnnotationPresent(Test.class)) {
Test test = method.getAnnotation(Test.class);
String info = test.info();

if ("AWESOME".equals(info)) {
System.out.println("info is awesome!");
// try to invoke the method with param
method.invoke(Annotated.class.newInstance(), info);
}
}
}
}

}

public class Demo {
public static void main(String[] args) throws Exception {
TestAnnotationParser parser = new TestAnnotationParser();
parser.parse(Annotated.class);
}
}
程序输出:

info is awesome!

This is AWESOME

http://isagoksu.com/2009/development/java/creating-custom-annotations-and-making-use-of-them/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐