为什么我不能为“多头”分配40亿的值?

2022-09-01 07:02:30

我试图在Java中声明一个长值,不幸的是,这不起作用。

这是我的代码。它会导致以下错误消息:“int 类型的文字4294967296超出范围”。

long bytes = 4294967296;

我需要此值来制作一个文件筛选器,用于筛选出大于 4294967296 字节 (4GB) 的文件。反过来,每个文件大小都没有任何问题(),这就是为什么我无法弄清楚为什么我的声明不起作用。long size = file.length()


答案 1

将数字的末尾相加:L

long bytes = 4294967296L;

答案 2

要回答您的问题标题,可以通过常量获得长整线的最大值:

Long.MAX_VALUE

要解决您的问题 - 在数字后添加 () 文本。lL