加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Groovy中键入Casting

发布时间:2020-12-14 16:25:11 所属栏目:大数据 来源:网络整理
导读:我有两个问题. 我做了以下代码来查找$的ASCII值: def a = "$"def b = (int)a println b //prints 36 我很满意答案.但当我试图像这样反过来时,我发现我错过了一些东西: def a = 36String b = aprintln b // getting output only 36 问题1: 所以我的第一个
我有两个问题.

我做了以下代码来查找$的ASCII值:

def a = "$"
def b = (int)a 
println b //prints 36

我很满意答案.但当我试图像这样反过来时,我发现我错过了一些东西:

def a = 36
String b = a
println b // getting output only 36

问题1:

所以我的第一个问题是为什么它打印36,为什么不打$?我错了吗?

好吧,如果相同的第一个代码块被重写为:

def a = "$"
    def b = a as int
    println b

如果我运行此程序,我会收到如下错误:

Caught: java.lang.NumberFormatException: For input string: "$"
    at T.run(T.groovy:2)

即使我想尝试像以前一样.我收到了一个错误.

问题2:

那么为什么as关键字在这里不起作用并且def a =(int)b不等于def a = b as int?请解释一下.

提前致谢.

解决方法

当你将一个字符串转换为int时,你可以使用一个字符串,所以我们可以说你将一个字符串转换为int,当你尝试将int转换为字符串时我认为它使用toString方法或类似的东西.尝试将36投射到char,你会看到你的’$’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读