johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kaloyan Spiridonov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JOHNZON-124) JsonArrayImpl should not override equals method
Date Tue, 06 Jun 2017 07:46:18 GMT
Kaloyan Spiridonov created JOHNZON-124:
------------------------------------------

             Summary: JsonArrayImpl should not override equals method
                 Key: JOHNZON-124
                 URL: https://issues.apache.org/jira/browse/JOHNZON-124
             Project: Johnzon
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.0.0
            Reporter: Kaloyan Spiridonov


According to javadoc the equals method of JsonArray should be inherited from List.  The javadoc
of java.util.List.equals(Object o) says:
{quote}
Compares the specified object with this list for equality. Returns true if and only if the
specified object is also a list, both lists have the same size, and all corresponding pairs
of elements in the two lists are equal. (Two elements e1 and e2 are equal if (e1==null ? e2==null
: e1.equals(e2)).) In other words, two lists are defined to be equal if they contain the same
elements in the same order. This definition ensures that the equals method works properly
across different implementations of the List interface.
{quote}

The following code:
{code}
JsonReader reader = Json.createReader(new StringReader("[true]"));
	    JsonArray jsonArray = reader.readArray();
    	List<JsonValue> actList = jsonArray;
    	
    	List<JsonValue> list = new ArrayList<JsonValue>();
     	list.add(JsonValue.TRUE);
    	System.out.println(actList.equals(list));
{code}
should return true instead of false.

One fix will be just to remove the equals method from JsonArrayImpl and then the AbstractList<E>.equals(Object
paramObject) will be used.



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

Mime
View raw message