Javaでintとlongを比較しても大丈夫ですか...
long l = 800L
int i = 4
if (i < l) {
// i is less than l
}
Javaでintとlongを比較しても大丈夫ですか...
long l = 800L
int i = 4
if (i < l) {
// i is less than l
}
はい、大丈夫です。はint
暗黙的に に変換されlong
ます。これは、情報を失うことなく常に実行できます。
long と int を直接比較できますが、これはお勧めできません。
long 値が int 制限を超える可能性があるため、比較する前に常に long を整数にキャストすることをお勧めします。
long l = Integer.MAX_VALUE; //2147483647
int i = Integer.MAX_VALUE; //2147483647
System.out.println(i == l); // true
l++; //2147483648
i++; //-2147483648
System.out.println(i == l); // false
System.out.println(i == (int)l); // true