有人在某个论坛帖子中假设,许多人甚至是经验丰富的 Java 开发人员都不会理解 Java Code 的以下内容。
Integer i1 = 127;
Integer i2 = 127;
System.out.println(i1++ == i2++);
System.out.println(i1 == i2);
作为一个对 Java 有点兴趣的人,我对它进行了思考并得出了以下结果。
System.out.println(i1++ == i2++);
// True, since we first check for equality and increment both variables afterwards.
System.out.println(i1 == i2);
// True again, since both variables are already incremented and have the value 128
Eclipse 告诉我不然。第一行是真的,第二行是假的。
我真的很感激解释。
第二个问题。这是 Java 特有的,还是这个示例也适用于基于 C 的语言?