考虑以下代码
public class ColorScheme {
public static final int DARK_BLACK = 0,
WHITE = 1;
private int Scheme;
public ColorScheme() {
this.Scheme = DARK_BLACK;
}
public ColorScheme(int SchemeType) {
this.Scheme = SchemeType;
}
}
我希望将构造函数
ColorScheme(int SchemeType)
的参数限制为static final int
-DARK_BLACK
或WHITE
之一或我可能定义的其他常量。例如:当有人实例化
ColorScheme
类时,他可以使用 ColorScheme CS = new ColorScheme(DARK_BLACK);
而
ColorScheme CS = new ColorScheme(5); //or any other non-defined constant
应该返回一个错误。
最佳答案
枚举是要走的路:
public class ColorScheme {
public enum Color {DARK_BLACK,
WHITE}
private Color Scheme;
public ColorScheme() {
this.Scheme = Color.DARK_BLACK;
}
public ColorScheme(Color SchemeType) {
this.Scheme = SchemeType;
}
}
关于java - 将参数限制为某些已定义的常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7544994/