Created JDK-8030814 <https://bugs.openjdk.java.net/browse/JDK-8030814>
to track this issue.
Roger
On 12/18/2013 6:52 PM, Louis Wasserman wrote:
Derp. Here is the test case:
import java.math.BigInteger;
public class UnsignedLongBug {
public static void main(String[] args) {
try {
String input = "1234567890abcdef1";
System.out.println(Long.parseUnsignedLong(input, 16));
BigInteger maxUnsignedLong =
BigInteger.ONE.shiftLeft(64).subtract(BigInteger.ONE);
BigInteger inputValue = new BigInteger(input, 16);
System.out.println(maxUnsignedLong.compareTo(inputValue));
throw new AssertionError();
} catch (NumberFormatException expected) {
System.out.println("Correct");
}
}
}
On Wed, Dec 18, 2013 at 3:51 PM, Louis Wasserman <lowas...@google.com>wrote:
The Javadoc of Long.parseUnsignedLong specifies that it should throw a
NumberFormatException if "the value represented by the string is larger
than the largest unsigned long, 2^64-1."
This does not appear to be happening:
--
Louis Wasserman