java - 有没有办法只允许一个范围内的函数的 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 的自定义对象,以便调用的函数和调用者已经符合要求?
推荐的方法是什么?
有什么想法吗?
解决方案
我认为最好的方法是在参数超出范围时抛出异常,正如您自己提到的那样。像这样:
void doSomething(int nValueWithin10And214){
if (nValueWithin10and214 < 10 || nValueWithin10and214 > 214 {
throw new ValueNotInRangeException();
}
}