Java 如何将数组作为注释参数传递?
我有以下课程Java 如何将数组作为注释参数传递?,java,arrays,annotations,argument-passing,Java,Arrays,Annotations,Argument Passing,我有以下课程 public class MultipartFileWrapper { @Extensions({".jpg",".png",".gif",".bmp",".mp4"}) MultipartFile multipartFile; ... } 现在我想将格式提取到常量。 但我不知道如何替换 @Extensions({".jpg",".png",".gif",".bmp",".mp4"}) 如果我有数组 String[] validFormats 其中
public class MultipartFileWrapper {
@Extensions({".jpg",".png",".gif",".bmp",".mp4"})
MultipartFile multipartFile;
...
}
现在我想将格式提取到常量。
但我不知道如何替换
@Extensions({".jpg",".png",".gif",".bmp",".mp4"})
如果我有数组
String[] validFormats
其中包含列出的格式。我想写这样的东西:
public class MultipartFileWrapper {
@Extensions(validFormats)
MultipartFile multipartFile;
...
}
现在我明白你的问题了。。。你可以在课堂上尝试这种方法:
public String[] getExtensions()throws NoSuchFieldException, SecurityException{
return MultipartFileWrapper.class.getDeclaredField("multipartFile").getAnnotation(Extensions.class).value();
}
调用该方法并获取“annoted”值我认为批注不接受数组作为参数的一部分,因为这些值在运行时可能会更改?嗯……在这种情况下,我如何提取配置?