gpt4 book ai didi

java - 如何在 Java 中指定一个常量

转载 作者:行者123 更新时间:2023-11-30 06:20:48 26 4
gpt4 key购买 nike

我正在使用 JAX-RS 创建 REST Web 服务。

我需要使我的 Resource 类上的 @Path 注释的值可公开访问。使用反射来获取这个值似乎有点沉重。

我想我会将值保存在 public static final String 中,以便 @Path 注释和其他类都可以访问它。

强制类提供此常量的最佳方式是什么?我的印象是在接口(interface)中使用常量是一种反模式(Effective Java 2nd Edition)。

编辑:

正如 Effective Java 指出的那样,“如果常量与现有类或接口(interface)紧密相关,则应将它们添加到类或接口(interface)中”。

在我的情况下,@Path 对于接口(interface)的所有实现者都是相同的,并且接口(interface)将提供方法,所以我认为我可以安全地将常量添加到接口(interface)。

最佳答案

因为你已经有了 the book , 我会为你引用 (p. 98-99):

If you want to export contants, there are several reasonable choices. If the constants are strongly tied to an existing class or interface, you should add them to the class or interface. For example, all of the boxed numerical primitive classes, such as Integer and Double, export MIN_VALUE and MAX_VALUE constants. If the constants are best viewed as members of an enumerated type, you should export them with an enum type. Otherwise, you should export the constants with a noninstantiable utility class.


但是,上面的答案涉及导出常量。如果你想“强制一个类提供这个常量”,那是另一回事,并且在你的界面中有常量并不能做到这一点。您可以强制执行此类操作的唯一方法是在您的界面中为其设置一个 getter。

关于java - 如何在 Java 中指定一个常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21333460/

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