在Java中用Long存储两个Int的总和

时间:2015-11-28 23:19:35

标签: java int long-integer

我想要做的是基本上将两个int值存储在两个变量中,然后将两个int的操作值存储在long中。我的代码是:

int operand1 = 2147483647;
int operand2 = 1; 
long longValue = operand1 + operand2;

我遇到的问题是我需要longValue等于2147483648而不是-2147483648因为它正在包裹它。我需要operand1和2作为整数。非常感谢任何帮助!

4 个答案:

答案 0 :(得分:4)

将两个整数投入多头。

long longValue = ((long)operand1) + ((long)operand2)

答案 1 :(得分:2)

}while(!buttonBackground.equals(R.drawable.redcircle));

仅转换第一个操作数1就足够了,甚至操作数1 = 1和操作数2 = 2147483647,因为long + int自动转储为long。

答案 2 :(得分:1)

正如其他人所说,解决方案是将赋值的RHS(右侧)中的一个(或两个)操作数转换为long。如果+操作的操作数为int,另一个操作为long,则JLS表示程序会将int操作数转换为long并使用64位算术执行操作。

在您编写的代码中,JLS表示应使用32位算术添加两个int值。之后发生32位到64位转换,因为正在分配值。

答案 3 :(得分:1)

试试吧,

long longValue = new Long(operand1) + new Long(operand2);