比较对象的属性值而不是对象类型

Compare objects's properties values but not objects type

是否可以将两种不同类型的对象与 mockito 或 hamcrest 进行比较?例如下面我展示了我的对象的例子。

对象A:

public class ObjectA {
    private Long id;
    private String name;
    private AddressA address
    // getters and setters
}

对象B:

public class ObjectB {
    private Long id;
    private String name;
    private AddressB address
    // getters and setters
}

对象 AddressA 和 AddressB 也具有相同的命名属性,只是类型不同。有可能吗,如果有的话怎么办?谢谢

使用hamcrestAPI,可以通过以下

实现
ObjectA A = new ObjectA(1, "ABC", new AddressA("jkl"));
ObjectB B = new ObjectB(1, "PQR", new AddressB("xyz"));

assertThat(A, hasProperty("id", equalTo(B.getId())));
assertThat(A, hasProperty("name", equalTo(B.getName())));
assertThat(A.getAddressA(), hasProperty("address", equalTo(B.getAddressB().getAddress())));