zoukankan      html  css  js  c++  java
  • 自定义简单注解并获取值

    1、自定义注解Car_color 

    package com.dist.annotation;
    
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    //@Target(ElementType.PARAMETER)  //表示这个注解的只适用于属性,也可以写多个({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
    @Retention(RetentionPolicy.RUNTIME) //表示注解只在执行期起作用
    public @interface Car_color {
        //返回值String就是参数的类型,只能是基本类型
        //这里用default默认参数是“白色”
        String color() default "白色";  //color方法其实是声明了一个配置参数
    
    }
    

    2、将注解带到类或接口或字段或方法上

    //@Car_color(color="黑色")
    public class Car {
        @Car_color(color="黑色") 
        private String color;
    
    }

    3、获取方法

    1)类上注解获取值

    public class Test {
    
        public static void main(String[] args) throws ClassNotFoundException {
            Class cls=Class.forName("com.dist.annotation.Car");  //获取类对象
    
            Car_color annotation = (Car_color) cls.getAnnotation(Car_color.class);
            System.out.println(annotation.color());
    
        }
    }
    

    2)获取字段上的

    public class Test {
    
        public static void main(String[] args) throws ClassNotFoundException {
            Class cls=Class.forName("com.dist.annotation.Car");  //获取类对象
    
            Field[] field=cls.getDeclaredFields();          //获取类的属性数组
            for(Field f:field){                             //循环属性
                if(f.isAnnotationPresent(Car_color.class)){ //获取属性的注解,并判断是否是Car_color.class注解
                    Car_color car=f.getAnnotation(Car_color.class);     //获取Car_color注解对象
                    System.out.println("汽车颜色:"+car.color());            //输出注解的color配置参数
                }
            }
    
        }
    }
    
  • 相关阅读:
    DataGridViewComboBoxColumn值无效
    你 我 我们 技术 让世界变得更好一些
    .NET Core中使用IHostedService结合队列执行定时任务
    参加胶东开发者技术大会有感
    在Windows下使用Nodist进行Node版本控制
    React中props.children和React.Children的区别
    React同构直出原理浅析
    React学习资料
    git在分支上创建目录和文件
    从一个例子中体会React的基本面
  • 原文地址:https://www.cnblogs.com/x54256/p/9429815.html
Copyright © 2011-2022 走看看