java object 转 double_java或scala 类型转换 object integer long Double string BigDecimal 互转 安全的方法...

1.java

基础类型的转换可以强转,但是容易报错,也可以使用对象类型的方法,也容易报错,有时候不知道Object是什么类型。那么有个编程小技巧需要记录一下。

先转string,再转我们需要的类型

Object类型转换为long

Object o = new Object();

long l = Long.valueOf(String.valueOf(o));

long l = Long.valueOf(String.valueOf(o)).longValue();

以此类推,Integer,Double等都可以使用这种方法

2.scala

在scala中我也遇到同样的问题,我获取到一个变量,类型不确定,我需要转double后运算,开始我一个一个判断是BigDecimal还是Doublevar value = if(originalValue.isInstanceOf[BigDecimal]) originalValue.asInstanceOf[BigDecimal].doubleValue() else originalValue.asInstanceOf[Double]

然而过了很久代码还是报错,因为变量是Integer。我也可以一个一个全部判断完,但这太扯了。

但解决方法还是一样,scala 中变量转string再转double更方便var value = if(originalValue!=null) originalValue.toString.toDouble else 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值