johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svetlin Zarev (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JOHNZON-123) JSONP spec compliance: JsonNumber.hashcode() is not spec compliant
Date Mon, 05 Jun 2017 12:58:04 GMT
Svetlin Zarev created JOHNZON-123:
-------------------------------------

             Summary: JSONP spec compliance: JsonNumber.hashcode() is not spec compliant
                 Key: JOHNZON-123
                 URL: https://issues.apache.org/jira/browse/JOHNZON-123
             Project: Johnzon
          Issue Type: Bug
            Reporter: Svetlin Zarev


>From the JsonNumber javadoc [1]:

{code}
Returns the hash code value for this JsonNumber object. The hash code of a JsonNumber object
is defined as the hash code of its bigDecimalValue() object.
{code}

Sample application
{code}
public final class Main {
    public static void main(String[] args) {
        JsonNumber a = Json.createObjectBuilder().add("a", 1).build().getJsonNumber("a");
        JsonNumber b = Json.createObjectBuilder().add("b", 1.1).build().getJsonNumber("b");
        
        System.out.println("Hashcode equals (a): " + (a.hashCode() == a.bigDecimalValue().hashCode()));
        System.out.println("Hashcode equals (b): " + (b.hashCode() == b.bigDecimalValue().hashCode()));
    }
}
{code}

Expected output:
{code}
Hashcode equals (a): true
Hashcode equals (b): true
{code}

Actual output:
{code}
Hashcode equals (a): false
Hashcode equals (b): false
{code}

[1] http://docs.oracle.com/javaee/7/api/javax/json/JsonNumber.html#hashCode--



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message