Java 如何在枚举或类中存储自定义RGB值

Java 如何在枚举或类中存储自定义RGB值,java,graphics,Java,Graphics,我正在尝试为我正在制作的一个简单游戏存储自定义颜色 颜色(RGB)示例: (52、73、94) (44、62、80) 我已尝试创建一个枚举,该枚举将按如下方式存储它们: public enum Colours { WET_ASPHALT(52, 73, 94), MIDNIGHT_BLUE(44, 62, 80); } 虽然我甚至不确定我是否做对了。我试着搜索了一下,发现了: public enum Colours { WET_ASPHALT(52, 73, 94), MIDNIGH

我正在尝试为我正在制作的一个简单游戏存储自定义颜色

颜色(RGB)示例:

(52、73、94)

(44、62、80)

我已尝试创建一个枚举,该枚举将按如下方式存储它们:

public enum Colours {
    WET_ASPHALT(52, 73, 94), MIDNIGHT_BLUE(44, 62, 80);
}
虽然我甚至不确定我是否做对了。我试着搜索了一下,发现了:

public enum Colours {

WET_ASPHALT(52, 73, 94), MIDNIGHT_BLUE(44, 62, 80);

private final int r, g, b;
private final String rgb;

private Colours(final int r, final int g, final int b) {
    this.r = r;
    this.g = g;
    this.b = b;
    this.rgb = r + ", " + g + ", " + b;
}

public String getRGB() {
    return rgb;
}

// You can add methods like this too
public int getRed() {
    return r;
}

public int getGreen() {
    return g;
}

public int getBlue() {
    return b;
}

}
虽然我不明白使用
String
的意义,但我尝试了
Color
,因为我使用的是
g2d.setColor()对我来说是有意义的,但那也不起作用

我可以简单地创建一个
colors
类,并使每个颜色
都是静态的
,但我被告知要远离静态变量


我也可以这样做,但我只是没有正确地访问存储的颜色。

使用
java.awt.Color
(或任何数量的颜色类)和
静态最终
?@MadProgrammer我过去使用过
java.awt.Color
,我只是做了一个简单的
静态最终颜色
,但是不使用static不是很合适吗?
static final
是创建常量的主要方法,
static
将允许人们更改它,这不是您想要做的。您也可以创建一个
Color
enum
,而不是存储RGB,或者创建一个返回
Color
(而不是
String
)的方法,但这一切都取决于您的需要使用常量没有什么错(
static final
)如果您需要它们作为常量,并且没有错误,那么在需要时只需使用
static
。不要让事情变得比需要的更复杂。。。枚举的目的只是限制允许的值。你真的需要它吗?好的,我将用
静态期末考试制作一个
colors
类。谢谢你的帮助。我想我是想得太多了。使用
java.awt.Color
(或任何数量的颜色类)和
static final
,有什么问题吗?@MadProgrammer好吧,我过去用过
java.awt.Color
,我只是做了一个简单的
static final Color
,但是不使用static不是很合适吗?
static final
是创建常量的主要方法,
static
将允许人们更改它,这不是您想要做的。您也可以创建一个
Color
enum
,而不是存储RGB,或者创建一个返回
Color
(而不是
String
)的方法,但这一切都取决于您的需要使用常量没有什么错(
static final
)如果您需要它们作为常量,并且没有错误,那么在需要时只需使用
static
。不要让事情变得比需要的更复杂。。。枚举的目的只是限制允许的值。你真的需要它吗?好的,我将用
静态期末考试制作一个
colors
类。谢谢你的帮助。我以为我想得太多了,我想是的。