当前位置: 首页 > 知识库问答 >
问题:

更改Java注释参数默认值

赫连冠玉
2023-03-14

我使用一个库,它提供了一个带有布尔参数参数的注释@LibraryAnnoection。默认设置为true由库的作者设置。

不幸的是,在我几乎所有的用例中,我更喜欢使用parameter=false的注释。为了实现所需的行为,我每次都使用@LibraryAnnotation(parameter=false)而不是@LibraryAnnotation。这很容易出错,因为人们很容易忘记设置参数。

我想知道是否有一种方法可以简化事情,通过改变@LibraryAnnoection的参数的默认值,或者通过定义一个自定义的注释,其行为类似于@LibraryAnnoection(参数=false),但不需要设置参数。

(在这个特定的情况下,库是lombok,但是这个问题可能与任何库提供的参数化注释相关。更新:Lombok通过lombok.config文件提供默认参数配置,但是我仍然对通用解决方案感兴趣。)

共有1个答案

韩英锐
2023-03-14

您可以定义自己的注释并使用它。比如:

@LibraryAnnotation(parameter = false)
public @interface MyLibraryAnnotationFalse {
}
 类似资料:
  • 问题内容: 我正在使用Jenkins的 “扩展选择参数” 插件,并希望安排构建定期运行而无需人工干预。 从下拉列表中选择构建的参数。 该参数的下拉列表是通过外部脚本生成的,我一直想选择最高的值作为默认值。 有没有办法选择最上面的元素作为计划作业的默认值? 我阅读了一些使用url远程运行作业的方法,但我希望可以通过仅更改作业配置来实现此目的,从而不必为它管理单独的脚本。 我的Jenkins实例在Li

  • 我有一个apikey“令牌”,它必须在每个请求中作为查询参数提供。我如何设置翻新,以便始终在请求中包含此查询参数? 我当前将内标识作为默认参数提供: 但是由于我知道每个请求都需要相同的令牌,所以在我创建的每个请求函数中必须提供它作为默认参数,这感觉是多余的。我如何设置reverfit来用默认的查询参数修饰每个传出的请求? 这是我如何构建reverfit2实例的: 我认为在调用.build()之前,

  • 问题内容: 当我运行它时,它拒绝“ def a(…”,并用红色突出显示“(”。我不知道为什么。 问题答案: 让我在这里澄清两点: 首先,非默认参数不应跟随默认参数,这意味着您无法在函数中定义。在函数中定义参数的正确顺序为: 位置参数或非默认参数,即 关键字参数或默认参数,即 仅关键字参数,即 var-keyword参数,即 是位置参数 是可选参数 是关键字参数 是列表参数 仅限关键字 是var-k

  • 背景:我有一个注释处理器,它通过扫描控制器上的Spring注释来构建改造接口。我将它设置为在基于kotlin或java的Spring应用程序中工作,它可以生成kotlin或java改造客户端接口。 问:当针对基于 kotlin 的Spring应用程序运行时,有没有办法在控制器函数上获取默认值,无论是反射式还是通过其他方式? 例如,控制器功能看起来像这样 我希望能够生成一个看起来像 我知道幕后的编译

  • 问题内容: 尝试更改列的数据类型并设置新的默认值时遇到以下错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’VARCHAR(255)NOT NULL SET DEFAULT’{}’‘附近使用正确的语法 问题答案: 同样的第二种可能性(感谢juergen_d):

  • 在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误: 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法