黑马程序员技术交流社区
标题:
如何获取注释的名字呢
[打印本页]
作者:
陈斌
时间:
2012-3-1 22:57
标题:
如何获取注释的名字呢
package Study.Annotation;
import java.lang.annotation.*;
import java.util.Set;
import javax.annotation.*;
@IcastAnnotation
public class MyAnnotation {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
sayHello();
if(MyAnnotation.class.isAnnotationPresent(IcastAnnotation.class)==true)
{
Annotation[] annot= IcastAnnotation.class.getAnnotations();
for(int i=0;i<annot.length;i++)
{
System.out.println(annot.length+annot[i].getClass().getName().toString());
}
System.out.println("ss");
}
}
@Deprecated
public static void sayHello()
{
System.out.println("hhhhh");
}
}
----------------------------------------------------------------------
package Study.Annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface IcastAnnotation {
}
----------------------------------------------------------------------
如何获取注释的名字呢???????
作者:
陈斌
时间:
2012-3-2 12:56
System.out.println(annot.length+annot[i].toString());自己想出来了
作者:
戚雪晖
时间:
2012-3-2 13:21
本帖最后由 1毫秒的价值 于 2012-3-2 13:26 编辑
你要获取的是注解类型的名字,因此该写成:annot
.annotationType().getName()
你写成getClass().getName()的话,就是获取的字节码的名字了
作者:
戚雪晖
时间:
2012-3-2 13:25
陈斌 发表于 2012-3-2 12:56
System.out.println(annot.length+annot.toString());自己想出来了
你想的是不对的,toString()是描述这个前面的对象内容。因此在这里toString描述的是注解内容,当然默认的是包括他的名字及属性等所有的东西。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2