Java 常用类 - 比较两个 Integer 对象、Integer 转 Long、Long 转 Integer
·
一、比较两个 Integer 对象
- 在 Java 中,比较两个 Integer 对象(可能为 null)时,可以使用 Objects 的 equals 方法
// 判断 a 与 b 是否相等,包括都为 null
Integer a = 10;
Integer b = null;
boolean result = Objects.equals(a, b);
System.out.println(result);
二、Integer 转 Long
1、具体实现
- 方式 1(推荐)
Integer i = 100;
Long l = i.longValue();
返回 int 转换后的 long
然后通过自动装箱将 long 变成 Long 对象
- 方式 2
Integer i = 100;
Long l = Long.valueOf(i);
`Long.valueOf(long)` 接收 long,这里 i 是 Integer 对象
先进行拆箱,`i.intValue()` 得到 int,然后转为 long
再调用 `Long.valueOf(long)`
2、注意事项
- 不能直接强转
Integer i = 100;
Long l = (Long) i;
# 输出结果
错误: 不兼容的类型: Integer无法转换为Long
- 注意空值
Integer i = null;
Long l = i == null ? null : i.longValue();
三、Long 转 Integer
1、具体实现
- 方式 1(推荐)
Long l = 100L;
Integer i = l.intValue();
- 方式 2
Long l = 100L;
Integer i = (int) l.longValue();
2、注意事项
- 注意溢出风险
// 超出 int 范围
Long l = 2147483648L;
Integer i = l.intValue();
System.out.println(i);
# 输出结果
-2147483648
// 安全处理
Long l = 2147483648L;
if (l > Integer.MAX_VALUE || l < Integer.MIN_VALUE) {
throw new ArithmeticException("Long 值超出 int 范围");
}
Integer i = l.intValue();
# 输出结果
java.lang.ArithmeticException: Long 值超出 int 范围
更多推荐




所有评论(0)