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




Reply via email to