You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by "Svetlin Zarev (JIRA)" <ji...@apache.org> on 2017/06/05 12:58:04 UTC
[jira] [Created] (JOHNZON-123) JSONP spec compliance:
JsonNumber.hashcode() is not spec compliant
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)