如何在Java中打印颜色的字符串表示形式

我有一个大小为n的颜色数组。在我的程序中,团队数量总是<= n,我需要为每个团队分配唯一的颜色。这是我的颜色数组:

private static Color[] TEAM_COLORS = {Color.BLUE, Color.RED, Color.CYAN, Color.GREEN, Color.ORANGE, Color.PINK};

当我在控制台中打印有关播放器的信息时,我想打印与它们关联的颜色。当我打印颜色时,我得到

java.awt.Color[r=...,g=...,b=...].

我知道这就是Java打印颜色的方式。我想知道是否有一种方法可以代替打印蓝色,红色等(因此是预定义的颜色字符串)。

回答:

通过将名称也添加到枚举来扩展@Jon_Skeet答复。

public enum NamedColor {

BLUE(Color.BLUE, "Blue"),

RED(Color.RED, "Red"),

...;

private final Color awtColor;

private final String colorName;

private NamedColor(Color awtColor, String name) {

this.awtColor = awtColor;

this.colorName = name;

}

public Color getAwtColor() {

return awtColor;

}

public String getColorName() {

return colorName;

}

}

注意:如果对此投票,也请@Jon_Skeet答复,因为这是该问题的扩展。

以上是 如何在Java中打印颜色的字符串表示形式 的全部内容, 来源链接: utcz.com/qa/411437.html

回到顶部