62

Javaでintとlongを比較しても大丈夫ですか...

long l = 800L
int i = 4

if (i < l) {
 // i is less than l
}
4

2 に答える 2

106

はい、大丈夫です。はint暗黙的に に変換されlongます。これは、情報を失うことなく常に実行できます。

于 2012-06-21T17:12:23.337 に答える
-4

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
于 2018-08-08T09:49:23.977 に答える