62

在Java中比较int和long是否可以...

long l = 800L
int i = 4

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

2 回答 2

106

是的,没关系。将int隐式转换为 a long,这始终可以在不丢失任何信息的情况下完成。

于 2012-06-21T17:12:23.337 回答
-4

您可以直接比较 long 和 int ,但不建议这样做。
在比较之前最好将 long 转换为整数,因为 long 值可以高于 int 限制

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 回答