2024 Clojure状况调查中分享您的想法!

欢迎!请查看关于页面以了解更多这个工作流程的详细信息。

0
错误

观察到的行为

`
(int "0") =>
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Character

期望的行为
(int "0") =>
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

IllegalArgumentException
`

6个答案

0

评论者:jafingerhut

如果有人想改善这种情况下的int行为,他们也应该考虑对unchecked-int、char和unchecked-char的错误消息进行类似的改进。

0

评论者:michael-drogalis

在2013年1月6日改进了int的char转换错误消息。

0

评论者:alexmiller

{{int}}知道如何将数字和字符转换为整数。它目前不支持字符串。添加此行为或使int的docstring比“转换为int”更描述性是有益的。

0

评论者:michael-drogalis

string-coerce-to-int.diff
2013年9月4日
修复了整数和字符转换错误信息,并允许从String转换为int,如Alex Miller建议的。

0

评论者:michael-drogalis

值得注意的是,(map int (link: "1" "2" "3"))使用此补丁失败,出现"ClassCastException java.lang.String cannot be cast to java.lang.Character"。
这源自RT.java中的intCast(Object)。因此,当它们被映射时,字符串似乎失去了它们的类型。
我猜这是故意的?

0
参考:https://clojure.atlassian.net/browse/CLJ-1030(由alex+import报告)
...