我有两个java对象,其byte[]字段大小为数百万.检查这些java对象的Deep Equal的最快捷有效的方法是什么?
样本实体:
@Entity
public class NormalBook
{
@Id
private String bookId;
@Column
private String title;
@Column
private byte[] pdfFile;
//setters and getters
}
Run Code Online (Sandbox Code Playgroud)
注意:我正在为ORM工具执行此操作,基本上我正在使用Persistence Context中存在的对象检查对象(处于托管状态).
重写equals()或使用 *helper 方法(不好的选择!)并分 5 个步骤完成:
1. Check for *not null*.
2. Check for same *type*.
3. Check for *size of byte[]*.
4. Check for `==` (*reference equality* of byte[])
5. Start comparing byte values
Run Code Online (Sandbox Code Playgroud)