У меня есть серия POJO, которые я использовал Lombok для заполнения, и все было довольно гладко. Я начал делать вещи необязательными, используя класс Java 8 Необязательный <>, но я столкнулся с проблемой при создании байтового массива. В моих модульных тестах, сравнивающие объекты работали отлично сравнивая два экземпляра этого класса построен одинаково:Lombok EqualsAndHashCode обработка дополнительных массивов
@NoArgsConstructor @Getter @Setter @EqualsAndHashCode @ToString
public class Attachment {
private String contentType;
private LanguageCode language;
private byte[] data;
private URI url;
private String title;
}
я могу сделать CONTENTTYPE, язык, URL и название всего Дополнительного <> и тесты все еще проходят, но тест неожиданно сбой, когда я делаю данные опционными.
private Optional<byte[]> data;
Результат:
expected
[Attachment(contentType=Optional[UTF-8], language=Optional[en], data=Optional[[[email protected]], url=Optional[test://testuri], title=Optional[test text])]
but found
[Attachment(contentType=Optional[UTF-8], language=Optional[en], data=Optional[[[email protected]], url=Optional[test://testuri], title=Optional[test text])]
Есть ли конкретный способ для обработки дополнительных массивов, так что Ломбки могут обрабатывать сравнение?
Это вы зарегистрировали это как ошибку? https://code.google.com/p/projectlombok/issues/detail?id=798&q=array&colspec=ID%20Type%20Status%20Priority%20Target%20Component%20Owner%20Summary Если нет, есть, по крайней мере, еще один человек испытывает ту же проблему. Я предполагаю, что это ошибка. Ранее у Ломбока были некоторые проблемы, связанные с Java 8. – Magnilex