首页 > 解决方案 > 有没有办法只允许一个范围内的函数的 Int 参数

问题描述

我试图找出一种在调用给定函数时限制 int 参数的方法,只要 int 值在一定范围内。例如:

class A{
    void doSomething(int nValueWithin10And214){}
}

class B{
    A objA = new A();
    objA.doSomething(int someValue)   //Here already know the limitation of the parameter
}

如果参数在一个范围内,我已经知道要检查函数内部,但是当调用者已经知道限制时,我正在寻找一种方法。

在这些情况下我是否应该创建一个自定义的 throwable 并且调用者在它不在范围内时抛出异常?

我是否应该创建一个扩展 Integer 的自定义对象,以便调用的函数和调用者已经符合要求?

推荐的方法是什么?

有什么想法吗?

标签: java

解决方案


我认为最好的方法是在参数超出范围时抛出异常,正如您自己提到的那样。像这样:

void doSomething(int nValueWithin10And214){
    if (nValueWithin10and214 < 10 || nValueWithin10and214 > 214 {
        throw new ValueNotInRangeException();
    }
}

推荐阅读