You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何实现Integer到Long的空安全转换?

Java Integer 转 Long 的空安全简洁实现

主流标准库及Apache Commons、Guava、Spring等常用第三方类库中,确实没有提供类似Long.longValue(Integer)这种直接的空安全转换方法,你并没有遗漏。

针对这个需求,目前可行的方案有以下几种:

  • 三元表达式写法:最直接但重复编写时不够简洁,尤其当value是长名称或复杂函数调用时

    Integer value = null;
    Long result = value != null ? value.longValue() : null;
    
  • Optional函数式写法:风格更现代,但同样存在冗余问题

    Long result = Optional.ofNullable(value).map(Integer::longValue).orElse(null);
    
  • 自定义工具类方法:虽然需要自行编写,但可以一次性封装后全局复用,还能通过重载支持其他数值类型的转换

    public class NumberUtils {
        public static Long longValue(Integer value) {
            return value != null ? value.longValue() : null;
        }
    
        // 重载支持Short转Long
        public static Long longValue(Short value) {
            return value != null ? value.longValue() : null;
        }
    
        // 其他数值类型的重载...
    }
    

主流类库未提供这类方法的原因,大概率是因为转换逻辑过于简单,属于极轻量的工具逻辑,库方为避免API冗余膨胀,更倾向于让开发者自行封装适配。

内容的提问来源于stack exchange,提问作者dimnnv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 17:52:17