Java 将十六进制解析为整数

Java parse hexadecimal as a integer

当我将 parseInt("3cf1bb13f1c96", 16) 粘贴到 java 脚本控制台时,它成功转换为整数值 1072142774901910 但是当我使用 Integer.parseInt("3cf1bb13f1c96", 16)在 java 它会打印一些东西

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)

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

 Long.parseLong("3cf1bb13f1c96", 16) 

解析成功:

> Task :Foo.main()
1072142774901910