当前位置: 首页 > 知识库问答 >
问题:

JavaLong.MAX_VALUE属性抛出整数太大异常!包括L[重复]

柳梓
2023-03-14

我正在使用JavaSE开发工具包8更新25(64位)。我已经从Java™教程中阅读了“原始数据类型”java教程,根据该规范,长类型可以容纳(2的64次方)-1的最大值,即18446744073709551615。

但是下面的代码会抛出“整数太大”的错误消息。

public class SampleClass
{
    public static void main (String[] args)
    {        
        Long longMaxValue= 18446744073709551615L /* UInt64.MaxValue */;
    }
}

此外,Long.Max_Value仅返回 9223372036854775807 。为什么?我需要将值 18,446,744,073,709,551,615 存储为 java 中的常量。我该怎么办?

任何帮助都会受到感激。

共有1个答案

黄丰
2023-03-14

long的最大正值是(2的63次方)- 1,因为Java中的long是有符号的,因此可以保存负整数。最左边的位保留给符号,剩下63位给值本身。

如果< code>Long,可以使用< code>BigInteger。MAX_VALUE对您来说不够大。

如果您正在使用Java 8,并且希望将<code>long

例如:

long l = parseUnsignedLong("18446744073709551615");

如果使用< code > system . out . println(l)打印< code>l,您将看到一个负值,但是如果打印< code > long . tounsignedstring(l),您将看到无符号值。

 类似资料:
  • 我遇到了这样一个问题,如果组合的一个属性为null(请注意,它不是ID),Javers会抛出一个异常: 或

  • 异常是[ERROR: flutter/lib/ui/ui_dart_state.cc(177)]未处理的异常:MisSingPluginExcture(在通道plugins.flutter.io/path_provider上没有找到方法getTemporaryDirectory的实现)。我实现这个包到我的样本项目,它的工作。但是当我试图实现我的官方项目时,它抛出了异常。我怎么才能修好它?非常感谢

  • 抛出异常的行为是否可能抛出不同的异常? 为了抛出异常,必须(可选地)分配新对象,并调用其构造函数(隐式调用fillinstacktrace)。在某些情况下,听起来像addSupressed也被称为。那么如果没有足够的内存会发生什么呢?JVM是否需要预分配内置异常?例如,(1/0)会抛出OutOfMemoryError而不是ArithmeticException吗? 此外,构造函数是一个方法调用,因

  • 假设我想在收到特定异常时恢复某个值,否则返回失败的未来。我希望是这样的: 如果函数会抛出检查过的异常,我想在链式方法中处理它。我尝试过和,但都无法编译。是否为这种情况提供了任何解决方案?我知道接口是方法的参数,它不会抛出任何异常——在这种情况下,我只想返回已经失败的未来。我想找到使用Java8的解决方案。

  • 这是我连接HTTP的代码。 这就是android。操作系统。NetworkOnMainThreadException 请帮忙。

  • 你怎么捕获一个异常,之后在另外一个线程上重新抛出?使用在标准文档18.8.5中描述的异常传递中的方法吧,那将显示标准库的魔力。 exception_ptr current_exception(); 返回一个exception_ptr 变量,它将指向现在正在处理的异常(15.3)或者现在正在处理的异常的副本(拷贝),或者有的时候在当前没有遇到异常的时候,返回值为一个空的exception_ptr变量