在Java中,将Short(包装类)或short(基本类型)转换为int有以下几种常用方法:
1. 自动拆箱 + 自动类型提升(最常用)
java
Short shortObj = 100;
short shortPrimitive = 200;
// 自动拆箱 + 自动类型提升
int intValue1 = shortObj; // Short → int
int intValue2 = shortPrimitive; // short → int
2. 显式调用方法
java
Short shortObj = 100;
short shortPrimitive = 200;
// 使用intValue()方法
int intValue1 = shortObj.intValue();
// 使用强制类型转换(实际上不需要,因为short可以自动提升为int)
int intValue2 = (int) shortPrimitive;
3. 处理可能为null的情况
java
Short shortObj = null;
// 方法1:使用三元运算符
int intValue1 = shortObj != null ? shortObj : 0;
// 方法2:使用Optional
int intValue2 = Optional.ofNullable(shortObj).orElse((short)0).intValue();
// 方法3:使用Objects.requireNonNullElse(Java 9+)
int intValue3 = Objects.requireNonNullElse(shortObj, (short)0);
4. 字符串转换场景
java
String str = "123";
Short shortObj = Short.parseShort(str); // 先转成Short
int intValue = shortObj.intValue(); // 再转成int
// 或者直接
int intValue = Integer.parseInt(str); // 直接转成int
推荐做法
日常开发中最推荐使用第一种方法(自动拆箱 + 自动类型提升),因为:
- 代码简洁
- 性能良好
- 可读性强
只有在需要处理null值等特殊情况下,才需要考虑其他方法。