将函数的输入限制为特定整数

时间:2018-02-17 20:04:10

标签: java integer enumeration

在java中将函数输入限制为特定整数的最佳做法是什么?

让我们说

public Car(CarColor carcolor, (Range limited integer value) carnum) {
    // Rest of the code
}

对于字符串,最好的方法是使用类似

的枚举
enum CarColor{
    Blue, Black, Red, Green
}

但它不适用于整数

enum CarNumber{
    1,2,3,4,5
}

我想出的是:

enum CarNumber{
    c1, c2, c3, c4, c5;

    @Override
    public String toString() {
            return this.name().substring(1);
    }
}

但我很确定这不是一个好习惯。 我也不想让函数被任何整数调用,并在函数内部检查if,如下所示。该函数不应该使用类似枚举的函数进行调用和限制。

public Car(CarColor carcolor, int carnum) {
    if (carnum < 0 || carnum > 5)
        return ;
    // Rest of the code
}

1 个答案:

答案 0 :(得分:1)

也许你最好的选择是创建一个只接受某个范围之间的变量的类,然后只接受该类的实例作为函数中的参数。这样,你的函数就不必检查任何东西,因为它已经知道它不会超出范围。