如何设置方法参数约束条件

kaiby 2010-03-03 10:06:13

public void method(int a){

////////////////
}




如何设置 a参数的范围,目的是使调用此方法时,传进来的参数a只能是指定范围的值,比如0--100,当超出范围时不允许调用此方法。请高人指点!
...全文
248 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinghun8leech 2010-03-04
  • 打赏
  • 举报
回复
在方法内判断,不合法则抛出RuntimeException。
如果不用异常,调用端在参数不合法时将难以得知此方法未正确执行。返回值提示也不可取,因为返回值不强求调用端关注,因此这个信息有可能丢失。
bayougeng 2010-03-04
  • 打赏
  • 举报
回复
引用 9 楼 kaiby 的回复:
引用 8 楼 bayougeng 的回复:
编译不通过?编译时上哪知道参数是多少?

就像当你传的int 参数的值大于 Integer.MAX_VALUE 的时候编译出错的效果一样。

是的,java自己的可以。但是并没有提供这样的语法。
或者有,我不知道。
即便是可以这样做,你觉得可以100%把错误都限制在编译时吗?当然不可以,因为程序是变化的,变量不是常量。
就像这个:
int i = Integer.MAX_VALUE + Integer.MAX_VALUE;
这样显然的错误,java编译也认不出来。
kaiby 2010-03-03
  • 打赏
  • 举报
回复
我想要的是不要判断,我想要的结果是,对于调用这个方法的人来说,不知道a的范围,但当他输入的值超出指定的范围后,程序无法通过编译(编译异常),如果是在Eclipse中会提示错误。也就是像当输入超过int的最大范围的时候的效果一样。
sirtener 2010-03-03
  • 打赏
  • 举报
回复
在调用之前根据您给出的条件做判断了, 符合条件的就执行该方法, 反之就不执行
gao512008 2010-03-03
  • 打赏
  • 举报
回复
引用 1 楼 goldater 的回复:
在你调用方法前判断一下啊……
              if(a <100){
              method(a);
            }
up
goldater 2010-03-03
  • 打赏
  • 举报
回复
在你调用方法前判断一下啊……
if(a<100){
method(a);
}
kaiby 2010-03-03
  • 打赏
  • 举报
回复
引用 8 楼 bayougeng 的回复:
编译不通过?编译时上哪知道参数是多少?


就像当你传的int 参数的值大于 Integer.MAX_VALUE 的时候编译出错的效果一样。
bayougeng 2010-03-03
  • 打赏
  • 举报
回复
编译不通过?编译时上哪知道参数是多少?
bayougeng 2010-03-03
  • 打赏
  • 举报
回复
抛异常嘛。
xtsqianli 2010-03-03
  • 打赏
  • 举报
回复
这个我也不是很清楚 学习
ramparter 2010-03-03
  • 打赏
  • 举报
回复
异常处理掉,捕获,,直接丢进Error!

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧