java - 为什么我收到错误 "integer number too large"?我在最后包含一个 "L"

标签 java javac long-integer

以下代码未在 Java 中编译:

Java 版本“1.6.0_24” OpenJDK 运行时环境 (IcedTea6 1.11.1) (suse-3.1-x86_64) OpenJDK 64 位服务器 VM(构建 20.0-b12,混合模式)

public class XOR
{
    public static void main(String[] args)
    {
        long one = 595082963178094600000L;
    }
}

这会引发错误:

XOR.java:5: integer number too large: 595082963178094600000

但我已经正确地指出它是 long!以下也会引发错误:

public class XOR
{
    public static void main(String[] args)
    {
        long one = new Long( "595082963178094600000" );
    }
}

抛出:

java.lang.NumberFormatException: For input string: "595082963178094600000"

我做错了什么?

最佳答案

嗯,也许是因为它 太大

595082963178094600000  //your value
  9223372036854775807  //Long.MAX_VALUE

您将需要 BigIntegerBigDecimal:

new BigInteger("595082963178094600000")

关于java - 为什么我收到错误 "integer number too large"?我在最后包含一个 "L",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033768/

相关文章:

java - Maven Android : java. lang.UnsupportedClassVersionError : com/android/dx/command/Main : Unsupported major. 次要版本 52.0

java - 来自服务器的字符串比需要的要短

javac:如何编译多个目录中的多个类?

java编译环境不适用于windows

c++ - 这是溢出吗?

integer - 缩放(长)整数时防止溢出并保持精度

java - 如何中断给定 Future 对象的线程?

java - Android 堆增长 - 我应该担心吗?

javac 代码消除功能

JAva/Android - 添加到长时间没有效果