有没有办法在Java中设置变量的边界?

时间:2012-10-31 16:49:40

标签: java bounds

例如我可以有一个变量

int x;

告诉编译器x永远不能大于20或小于-20而不必编写一个方法来检查循环中每次迭代的值? (我在这里应该提到这是基于矢量的游戏的速度变量。

3 个答案:

答案 0 :(得分:7)

仅通过setter方法设置变量。在此方法内部,如果尝试将值设置超出范围,则抛出异常。请注意,这不适用于编译器方面,而是在运行时,我相信这种检查是必要的。

答案 1 :(得分:5)

不,您必须在程序中手动检查

答案 2 :(得分:1)

assert  -20 < x && x < 20 : "Out of range!";

使用-ea参数执行,java将检查条件,而不是-ea性能达到最佳状态。

如果断言将无法验证java.lang.AssertionError将被抛出