标签: java enums constants
有关ScrollPane的文档不使用滚动条策略的枚举值(并且其他类也不用于常量字段值),是否有原因?
这些常量字段值的值是否有更深入的意义,还是只是按升序排列?因为在我看来,像public ScrollPane(int scrollbarDisplayPolicy)这样的构造函数看起来没有例如public ScrollPane(ScrollPane.ScrollbarDisplayPolicy scrollbarDisplayPolicy)
public ScrollPane(int scrollbarDisplayPolicy)
public ScrollPane(ScrollPane.ScrollbarDisplayPolicy scrollbarDisplayPolicy)
或者这只是没有多个只有少量值的枚举?
答案 0 :(得分:3)
答案很简单:enum仅在Java 5中引入,而且这些常数比这更长。
enum
不幸的是,在不破坏代码兼容性的情况下,无法改进API。 (一般来说,为新功能改装API是一项不可能完成的任务,但是可能的例子是引入泛型,也是在Java 5中。)
答案 1 :(得分:2)
在版本1.5中引入了Java enum。
因此,在java 1.5之前开发的大多数库都使用static final常量。
static final
例如,log4j levels也是整数值的公共静态最终值。