StringListType implements Command, State { @Override public boolean equals(@Nullable Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } StringListType other = (StringListType) obj; return typeDetails.equals(other.typeDetails); } StringListType();  StringListType(List<String> rows);  StringListType(StringType... rows);  StringListType(String... rows);  StringListType(String serialized); String getValue(final int index); @Override String format(String pattern); @Override String toString(); @Override String toFullString(); static StringListType valueOf(String value); @Override int hashCode(); @Override boolean equals(@Nullable Object obj); static final String DELIMITER; static final String ESCAPED_DELIMITER; static final String REGEX_SPLITTER; }
@Test public void testEquals() { StringListType a = new StringListType("1", "2", "3"); StringListType b = new StringListType("1", "2", "3"); StringListType c = new StringListType("4", "5", "6"); assertEquals(a, b); assertNotEquals(a, c); assertNotEquals(b, c); }