Java将十六进制解析为整数

当我将parseInt(“ 3cf1bb13f1c96”,16)粘贴到javascript控制台时,它会成功转换为1072142774901910的整数值,但是当我在Java中使用Integer.parseInt(“ 3cf1bb13f1c96”,16)时,它将打印出一些内容

Exception in thread "main" java.lang.NumberFormatException: For input string: "3cf1bb13f1c96"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at Main.example(Main.java:line)
    at Main.example(Main.java:line)
iCMS 回答:Java将十六进制解析为整数

您正在解析的值超出整数范围。在Java中,整数的范围是-2,147,483,648至+2,647。尝试改用Long代替:

 Long.parseLong("3cf1bb13f1c96",16) 

它成功解析:

> Task :Foo.main()
1072142774901910
本文链接:https://www.f2er.com/2284583.html

大家都在问