zoukankan      html  css  js  c++  java
  • java注解小记

    @Target(ElementType.TYPE)
    @Inherited
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Action {
    boolean isSingle() default true;
    String value() default "";
    String url() default "";
    }


    @Action
    class BaseController{
    }

    public class UserController extends BaseController{

    public static void main(String[] args) {
    System.out.println(UserController.class.isAnnotationPresent(Action.class)); //true
    System.out.println(BaseController.class.isAnnotationPresent(Action.class)); //true
    }
    }

    我们现在已经可以自己创建注解,接下来我来给大家介绍如何获取注解的信息。在java中是通过反射来获取注解的信息的,在Class,Method,Field,Constructor中都有如下的这几个方法:

    getAnnotations()获取所有的注解,

    getDeclaredAnnotations获取所有声明的注解,忽略inherited来的注解,

    getAnnotations(Class<A> annotationclass)获取指定类型的注解,

    isAnnotationPresent(Class<A> annotationclass)判断是否有指定类型的注解。

    在java中Method和Contructor都有方法参数,而参数也是可以有注解的,所以有一个方法返回参数的注解:getParameterAnnotations()返回值是一个二维数组。我们来看一个例子:

  • 相关阅读:
    Java学习之内部类
    Java学习之方法内部类
    CTFHub:RCE命令注入
    C++ :string 用法详解
    oracle数据类型
    a[0]=1,a[1]=11,a[2]=21,a[3]=1211找出规律,输入下标,得出对应的值
    python计算登山队最远坐标
    子网掩码
    实现点赞功能
    获取评论数和细节处理
  • 原文地址:https://www.cnblogs.com/zmyx2018/p/14928590.html
Copyright © 2011-2022 走看看