次のコードでは、T1とT3が異なる方法はわかりません。確かに私の計算機はそうではないと言っています。
public class longTest {
public static final long T1 = 24 * 60 * 60 * 1000 * 30;
public static final long T2 = 24 * 60 * 60 * 1000;
public static final long T3 = T2 * 30;
public static void main(String[] args) {
System.out.println(T1);
System.out.println(T2);
System.out.println(T3);
}
}
では、なぜ次の出力が得られるのですか?
-1702967296
86400000
2592000000
このサンプルプログラムのSystem.out.printlnだけではありません。日食でT1を使用し、変数の上にマウスを置くと、同じ値を示す光沢が表示されます。
javaバージョン"1.6.0_33"OSX