+-

假设一个整数应该在以下范围内:[0 … 2147483647]
我想检查整数变量是否在此范围内.我知道它可以通过简单的if-else语句来完成,但有没有更有效的方法来检查它是否在范围内?
我宁愿不这样做:
if (foo >= 0 && foo <= 2147483647)
{
// do something
}
最佳答案
Apache Commons Lang有一个
Range class用于任意范围.
Range<Integer> test = Range.between(1, 3);
System.out.println(test.contains(2));
System.out.println(test.contains(4));
Guava Range有类似的API.
如果您只是想检查一个数字是否适合长值或int值,您可以尝试通过BigDecimal使用它. longValueExact和intValueExact有一些方法,如果值对于那些精度而言太大,则抛出异常.
点击查看更多相关文章
转载注明原文:如何用Java表示范围? - 乐贴网