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

Java中long类型时间戳转Double报类型不匹配错误如何解决?

问题原因

Java不支持直接将基本类型long强制转换为包装类型Double,你当前的写法触发了编译阶段的类型校验规则,因此抛出不兼容类型错误。

正确实现方案
  • 方案1:先将long转为基本类型double,再自动装箱为Double
// 直接一行转换
LTime = (double) handle.getTimestamp().getTime();

// 分步骤写法同理
long time1 = handle.getTimestamp().getTime();
LTime = (double) time1;
  • 方案2:使用Double类的静态方法直接构造对象,写法更清晰
LTime = Double.valueOf(handle.getTimestamp().getTime());
注意事项

double类型仅能精确表示绝对值小于等于2^53的整数值:

  • 若你使用的是毫秒级时间戳,当前取值范围在13位以内,远小于2^53,转换不会出现精度损失
  • 若你使用的是纳秒级时间戳,取值超过2^53时转换会丢失精度,这种场景不建议使用Double存储时间值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:36:02