我有一个叫做像素的类。我正在制作一个构造函数,它接受单个像素的红色,绿色,蓝色,alpha值。我怎样才能使程序只使用有效值(例如0到255)而不使用if语句? 以下是我的课程:
public class Pixel {
public int redPix;
public int bluePix;
public int greenPix;
public int alpha;
public Pixel(int redPix , int bluePix , int greenPix , int alpha) {
this.redPix = redPix;
this.bluePix = bluePix;
this.greenPix = greenPix;
this.alpha = alpha;
}
public void setRed(int redPix) {
this.redPix = redPix;
}
public int getRed() {
return(redPix);
}
public void setBlue(int bluePix) {
this.bluePix = bluePix;
}
public int getBlue() {
return(bluePix);
}
public void setGreen(int greenPix) {
this.greenPix = greenPix;
}
public int getGreen() {
return(greenPix);
}
public void setAlpha(int alpha) {
this.alpha = alpha;
}
public int getAlpha() {
return(alpha);
}
public static void main(String[] args){
}
}
答案 0 :(得分:3)
您可以使用断言来指定类不变量。它实际上建议用于私有方法。
assert x >= 0 && x <= 255;
答案 1 :(得分:0)
可能,你能做的最好就是编写像这样的方法助手:
private void checkArg(int arg) {
if (arg < 0 || arg > 255) {
throw new IllegalArgumentException("Wrong argument: " + arg);
}
}
然后在所有方法的开头使用它。