「java反射获取注释」java 反射获取注解

博主:adminadmin 2023-01-01 13:03:08 59

今天给各位分享java反射获取注释的知识,其中也会对java 反射获取注解进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 如何获取方法的注释

楼上2位,我就郁闷你们两了!

虽然我不知道调用什么方法来实现,但是最起码也知道问题的意思!

人家是要把注释的内容打印出来!

java获取注解的值

很多朋友都想知道java怎么获取注解的值?下面就一起来了解一下吧~

1、定义一个注解,用于给全局变量field字段赋值

package com.haha.study.annotation.value; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * description: 定义一个注解,用于给 全局变量 field 字段 赋值,并使用反射取值。 

* 特别提醒: @Rentention(RetentionPolicy.RUNTIME) 时,注解才会被jvm加载,才能使用反射获取。 * @version v1.0 * @author w * @date 2018年8月1日下午2:37:40 */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value=ElementType.FIELD) public @interface Fields { int sort() default 0 ; String value() ; }

2、创建一个普通的类,使用 @ConsAnnotation、@Fields 注解

package com.haha.study.annotation.value; /** * description: 创建一个普通的类,使用 @ConsAnnotation、@Fields 注解。 * @version v1.0 * @author w * @date 2018年8月1日下午2:50:23 */ @ConsAnnotation(request = { "hello","world","annotation!" }) public class User { @Fields("中华人民共和国") private String userName; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }

3、针对 com.haha.study.annotation.value.User 类使用注解的测试

package com.haha.study.annotation.value; import java.lang.reflect.Field; import java.util.Arrays; /** * description: 针对 com.haha.study.annotation.value.User 类使用注解的测试 * @version v1.0 * @author w * @date 2018年8月1日下午2:37:13 */ public class ValueTest { public static void main(String[] args) throws Exception { User user = new User(); // 1、 获取 User类上的注解 @ConsAnnotation ConsAnnotation anno = user.getClass().getAnnotation(ConsAnnotation.class); String[] arr = anno.request(); System.out.println(Arrays.toString(arr)); // [hello, world, annotation!] // 2、 获取User类中 private String userName; 变量上的注解 @Field Field f = user.getClass().getDeclaredField("userName"); Fields anno2 = f.getAnnotation(Fields.class); user.setUserName(anno2.value()); System.out.println(user.getUserName()); // 中华人民共和国 } }

java反射机制 怎样获取到类上面的注解

// 定义注解并指定java注解保留策略为运行时RUNTIME,运行时注入到JAVA字节码文件里

// 这样才可以在运行时反射并获取它。

@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)

@interface MyAnnotation{

String key() default "";

int value()  default 0; 

}

// 使用注解

@MyAnnotation(key="key1",value=200)

class MyClass{}

// 反射注解

public static void main(String[] args){

   MyClass myClass=new MyClass();

   MyAnnotation annotation=myClass.getClass().getAnnotation(MyAnnotation.class);

   System.out.println("key="+annotation.key()+"\tvalue="+annotation.value());

}

java获取当前类上的注解内容

@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到

@Target({ElementType.FIELD,ElementType.METHOD})//定义注解的作用目标**作用范围字段、枚举的常量/方法

@Documented//说明该注解将被包含在javadoc中

public @interface FieldMeta {

/**

* 是否为序列号

* @return

*/

boolean id() default false;

/**

* 字段名称

* @return

*/

String name() default "";

/**

* 是否可编辑

* @return

*/

boolean editable() default true;

/**

关于java反射获取注释和java 反射获取注解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2023-01-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。