gpt4 book ai didi

java - 为什么我不能计算常量注释参数?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:10 24 4
gpt4 key购买 nike

为什么下面的代码可以编译:

final String name = "works";
@Provides @Named(name) String provideAboutTitle() {
return "ABC";
}

但是下面的代码失败了(至少对于 Eclipse 的编译器):

final String name = UUID.randomUUID().toString();
@Provides @Named(name) String provideAboutTitle() {
return "ABC";
}

Eclipse 的编译器返回以下错误:

注解属性Named.value的值必须是常量表达式

最佳答案

错误消息中 Eclipse 要求的常量表达式是编译时常量表达式(不仅仅是最终变量)并且方法调用 UUID.randomUUID().toString(); 需要是在运行时评估。

虽然你可以 write dynamic annotation values using JavaAssist at runtime ,您将失去注释的“易于阅读”功能。

关于java - 为什么我不能计算常量注释参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com