如何在Java中创建单个注释接受多个值

2022-09-04 02:41:05

我有一个名为

@Retention( RetentionPolicy.SOURCE )
@Target( ElementType.METHOD )
public @interface JIRA
{
    /**
     * The 'Key' (Bug number / JIRA reference) attribute of the JIRA issue.
     */
    String key();
}

它允许像这样添加注释

@JIRA( key = "JIRA1" )

有没有办法允许这种情况发生

@JIRA( key = "JIRA1", "JIRA2", .....  )

原因是,我们目前针对Jira任务或错误修复对测试进行注释,但有时,该值将被sonar解析。问题是单个测试覆盖了超过1个错误。


答案 1

将函数更改为返回,而不是使用key()String[]StringString[]

public @interface JIRA {
/**
 * The 'Key' (Bug number / JIRA reference) attribute of the JIRA issue.
 */
String[] key();
}

如下所示使用

@JIRA(key = {"JIRA1", "JIRA2"})

答案 2

推荐