在 Java 中比较 int 和 long 可以吗?

2022-08-31 15:12:17

在Java中比较int和long可以吗?

long l = 800L
int i = 4

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

答案 1

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


答案 2

您可以直接比较 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

推荐