有人可以向我解釋當使用public BigInteger(byte[] val)
時,兩個邊緣但非平凡的不同字節數組可以產生相同的BigInteger嗎?不同的字節[] =>相同的BigInteger?
哪有......
import java.math.BigInteger;
public class BigIntegerTest
{
public static void main(String[] args)
{
BigInteger a = new BigInteger(new byte[] {-1, -1, -1, -1, 123});
BigInteger b = new BigInteger(new byte[] {-1, 123});
System.out.println(a.toString(16)+" .equals "+b.toString(16)+" ? "+(a.equals(b)));
}
}
...打印真的嗎?
我確定我誤解了JavaDocs,但是我不知道它在哪裏。我會檢查來源......但是,呃,我找不到它。
我錯過了什麼?
醬汁:http://www.docjar.org/html/api/java/math/BigInteger.java.html#171 –
謝謝!在2862行找到我需要的東西。這些資源的官方程度如何?我似乎記得能夠從Sun下載源代碼,但Oracle只會將我指向OpenJDK。 – DowntroddenCodeMonkey
這兩個是相同的原因,150是相同的0150. –