java中的Integer.MAX_VALUE

时间:2016-01-19 07:32:05

标签: java data-structures stack

我已经阅读了MAX_VALUE,发现常量可以保持最大值2 ^ 31-1。哪个程序需要使用MAX_VALUE?

我也对这段堆栈代码感到困惑,如果堆栈为空,则返回Integer.Max_VALUE。

if(s2.isEmpty())
    return Integer.MAX_VALUE; 

为什么我们应该在堆栈为空时返回最大数字?

2 个答案:

答案 0 :(得分:2)

MAX_VALUE的使用示例:

List<Integer> l = Arrays.asList(1, 2, 182938, 1293);
Integer min = Integer.MAX_VALUE;

for (Integer i : l) { 
     min = Math.min(min, i);
}

答案 1 :(得分:1)

说实话,我几乎没有用过这个,但是有一件事它很实用:

如果您要搜索最低要求,则可以从Integer.MAX_VALUE开始,因为可以保证下一个值会更小。

第二个用例场景是通过事先检查(var <= Integer.MAX_VALUE - valueToAdd && valueToAdd >= 0)来检查此变量是否可用于任何进一步的计算。

如果您确实知道某个数字不可能那么高,那么返回Integer.MAX_VALUE会很好。我经常使用-1作为返回值,如果int不能为负数,但是如果它可以,你需要考虑其他的东西,然后使用MAX_VALUE