首页 > 解决方案 > 我们可以将自定义注释中给出的值分配给变量吗?

问题描述

我创建了一个自定义注释

public @interface SearchBy {

    String visibleText() default "";

    public static class SearchByBuilder {
        public String build(Object annotation) {
            SearchBy searchBy = (SearchBy) annotation;
            if (!"".equals(searchBy.visibleText())) {
                return searchBy.visibleText();
            }
            return null;
        }
    }
}

我想打印以直接从注释本身分配变量的值

public class Test {
    @searchBy(value = "text")
    String key;

    @Test
    public void script() {
        System.out.println(key); //Should print **text** but still it is printing as Null
    }
}

请告诉我们是否可以使用注释类本身的任何反射。因为这是为我使用该注释的所有变量打印动态值。

Examples:
@searchBy(value = "A")
String key1;

@searchBy(value = "B")
String key2;

使用 Print 语句,它们应该与另一个常量一起打印为

"A is an alphabet"
"B is an alphabet"

标签: javaselenium-webdriverannotations

解决方案


推荐阅读