【发布时间】:2013-09-24 12:20:41
【问题描述】:
在经历了this 的问题之后,我的脑海里又多了一个。
问题:为什么将整数变量值设置为Integer.MAX_VALUE。
例如。
int x = Integer.MIN_VALUE;
x--;
if (x == Integer.MAX_VALUE) {
System.out.println("Why....");
}
必须有某种原因才能明确实施此行为,否则抛出Exception 会是一个更好的主意。我无法在 JLS 中找到/定位这种行为。
【问题讨论】:
-
因为其他语言都是这样的?
-
我假设是因为创建异常对象并抛出与它相关的性能
-
@PradeepSimha 我不认为性能是他们主要关心的问题,因为这种情况很少见,而且功能不能因为性能而受到影响。我们在java中已经有很多异常了。
-
@Doorknob 不一定是所有其他语言,而是处理器架构本身。