
在Java中,所有数学运算都是在处理所有当前值所需的最大数据类型中完成的。因此,如果您具有int * int,它将始终以整数形式进行数学运算,但将int *long作为long进行运算。
在这种情况下,将1024 * 1024 * 1024 * 80作为一个Int完成,它将溢出int。
当然,“ L”会强制其中一个 *** 作数为Int-64(long),因此所有数学运算都将值存储为Long,因此不会发生溢出。
欢迎分享,转载请注明来源:内存溢出

在Java中,所有数学运算都是在处理所有当前值所需的最大数据类型中完成的。因此,如果您具有int * int,它将始终以整数形式进行数学运算,但将int *long作为long进行运算。
在这种情况下,将1024 * 1024 * 1024 * 80作为一个Int完成,它将溢出int。
当然,“ L”会强制其中一个 *** 作数为Int-64(long),因此所有数学运算都将值存储为Long,因此不会发生溢出。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)