johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svetlin Zarev (JIRA)" <>
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
             Project: Johnzon
          Issue Type: Bug
            Reporter: Svetlin Zarev

>From the JsonNumber javadoc [1]:

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.

Sample application
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()));

Expected output:
Hashcode equals (a): true
Hashcode equals (b): true

Actual output:
Hashcode equals (a): false
Hashcode equals (b): false


This message was sent by Atlassian JIRA

View raw message