【问题标题】:What is the purpose of java.awt.Color.blue and java.awt.Color.BLUEjava.awt.Color.blue 和 java.awt.Color.BLUE 的用途是什么
【发布时间】:2012-04-17 08:32:36
【问题描述】:

为什么java.awt.Color 类中定义了两个Color 常量?比如

public static final Color blue;
public static final Color BLUE;

这显然是多余的。是否有一些特定的使用场景 - 例如大写颜色优于小写颜色的最佳实践,反之亦然?

【问题讨论】:

  • 就我自己而言,我总是更喜欢 UPPER_CASE 常量
  • 小写常量是在完全消除命名约定之前首先创建的。然后创建大写字母,但保留小写字母以实现向后兼容。

标签: java colors awt constants


【解决方案1】:

这是一个命名约定。

Java 最初定义了一些小写的颜色常量名称, 违反了常量使用大写的命名规则。这些是 最好使用,因为它们适用于所有 Java 版本: Color.black, Color.darkGray, Color.gray, Color.lightGray, Color.white, Color.magenta, Color.red, Color.pink, Color.orange, Color.yellow, Color.greenColor.cyanColor.blue

Java 1.4 为常量添加了正确的大写名称:Color.BLACKColor.DARK_GRAY, Color.GRAY, Color.LIGHT_GRAY, Color.WHITE, Color.MAGENTA, Color.RED, Color.PINK, Color.ORANGE, Color.YELLOW, Color.GREENColor.CYANColor.BLUE

Source

【讨论】:

  • @HovercraftFullOfEels - 为什么要发表评论?这是问题的答案。
  • 该页面与 1.7(可能更早的)JavaDocs 一样,在一个方面略有不正确。我很确定实际上是 1.4.1 或(更有可能)1.4.2 引入了大写变体。
【解决方案2】:

它们是同义词。 Java 1.4 中引入了大写名称以符合Sun's naming conventions(参见第 9 节)的常量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多