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