zoukankan      html  css  js  c++  java
  • 【Java基础】注解


    判断指定注解是否存在: boolean annotationPresent = method.isAnnotationPresent(MyAnnotation.class);


    1.  自定义注解:MyAnnotation
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
        public @interface MyAnnotation {    
    }
    2、使用:MyAnnotationDemo 
    @Deprecated
    public class MyAnnotationDemo {
        @MyAnnotation
        public void print()
        {
            System.out.println("call print()");
        }
    }

        3. 测试类

    public class MyAnnotationDemoTest {
        public static void main(String[] args) throws Exception {
            Class<?> clazz = Class.forName("com.demo.annotation.MyAnnotationDemo");
            printClassInfo(clazz);
    Method[] methods
    = clazz.getMethods(); printMethodInfo(clazz, methods); } private static void printClassInfo(Class<?> clazz) { for (Annotation annotation : clazz.getAnnotations()) { System.out.println("class annotation name: " + annotation.toString()); } } private static void printMethodInfo(Class<?> clazz, Method[] methods) throws Exception { for (Method method : methods) { // 判断方法是否有指定的注解信息 boolean annotationPresent = method.isAnnotationPresent(MyAnnotation.class); if (annotationPresent) { System.out.println(method.getName());

    // 反射方式调用当前方法 method.invoke(clazz.getConstructor(
    null).newInstance(null), null); method.invoke(clazz.newInstance(), null); for (Annotation annotation : method.getAnnotations()) { System.out.println("method annotation: " + annotation.toString()); } } } } }

        4. 测试结果:

    
    class annotation name: @java.lang.Deprecated()
    
    print
    call print()
    call print()
    method annotation: @com.demo.annotation.MyAnnotation()

     

  • 相关阅读:
    eslint 屏蔽html的检查
    css 自定义悬浮窗写法
    echarts象形图图例显示问题
    win10上rocketMQ的部署过程
    死锁以及如何避免死锁
    volatile的一个例子-通俗易懂
    Java四种引用类型
    记录下:安全|API接口安全性设计(防篡改和重复调用)
    了解聚集索引,非聚集索引,联合索引,索引覆盖
    mybatis 查询树形结构
  • 原文地址:https://www.cnblogs.com/clarino/p/14460894.html
Copyright © 2011-2022 走看看