今日Javaコードを閲覧していて、何かに気づきました。
int[] m = mag;
int len = m.length;
int[] xm = xInt.mag;
if (len != xm.length)
return false;
(これはBigIntegerクラスにあり、解凍すると見つかりsrc.zipます。メソッドにあります。) 1回だけ使用するとequals、まったく新しい変数が作成されるのはなぜですか。mなぜコードだけではないのint len = mag.lengthですか?私はこれを別の方法でも見ました(bitLength)、そして繰り返しmますが、一度だけ使用されます。これを行うことに利点はありますか、それともこのクラスの作成者による単なる間違いですか?
編集:@usernametbdが指摘したように、少し後で使用されます:
for (int i = 0; i < len; i++)
if (xm[i] != m[i])
return false;
しかし、彼らはまだ使用できたはずmagです。なぜまったく新しい変数が作成されるのでしょうか。
別の関数(同じクラス内bitLength)で、新しい変数mが作成され、1回だけ使用されます。