在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,你会看到你的’$’
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |