You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否调用注解接口默认方法?如何获取其默认值数组?

能否从注解接口外部获取默认方法的返回值?

可以,不需要实例化注解,直接用Java反射API就能拿到注解接口中方法的默认返回值,以你给出的ValidFileType注解为例,具体实现步骤如下:

  • 先通过注解类的class对象获取目标方法的Method实例
  • 调用Method对象的getDefaultValue()方法,即可获取该方法定义的默认值

代码示例

import java.lang.reflect.Method;
import org.springframework.http.MediaType;

public class Demo {
    public static void main(String[] args) throws NoSuchMethodException {
        // 获取注解的value方法
        Method valueMethod = ValidFileType.class.getMethod("value");
        // 获取默认的文件类型数组
        String[] defaultTypes = (String[]) valueMethod.getDefaultValue();
        
        // 遍历打印结果
        for (String type : defaultTypes) {
            System.out.println(type);
        }
    }
}

补充说明

不管注解的RetentionPolicy设置的是SOURCE、CLASS还是RUNTIME,都能通过这种方式获取默认值——因为默认值是直接存储在注解接口的字节码中的,和注解是否被保留到运行时没有关系。

内容的提问来源于stack exchange,提问作者Dónal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:31:03