我在我的 java 测试中使用断言实际值和预期值。当然,如果两个对象不同,则抛出断言异常。但我想知道,有什么不同。
如果有人知道java库,请回答我。
很简单:我希望打印来控制所有不同的字段:公共、受保护、私有(原始类型)。对象的类可以有很多继承类。我只想记录简单的字段:字符串、数字、布尔值、字符、数组 [] / 集合的项目。
如果字段是另一个类,则不要记录它的值(toString 函数)。我只想为这个子类显示不同的简单字段。
对于集合仅显示不同的值。
例如:
class A {
private String a;
protected int b;
}
class A1 {
private int c;
private String d;
}
class B extends A {
private byte[] array;
private List<A> collection
private A1 a1;
}
因此,我们与对象类 B 进行比较。如果不同的字段 a/b,我将显示:
field: a. values: Tom / Jerry.
如果不等于 a1,那么我想知道,什么字段:
field: a1.c. value: 10 / 12.
同样适用于数组和集合。
我可以解析所有继承类的所有字段。我得到每个字段,得到字段类型。如果它很简单(字符串、数字、布尔值...)记录不同的值。
如果它是另一个具有自己字段的子类,我可以递归地重复提取所有字段。但我有一个问题:如果它是数组或集合,我如何从字段值中提取?我从 Field::get() 对象获得。
我是如何理解并从 object -> Type[] 或 Collection{Type} 得到的,而那个类是 Type?如果我能做到,那就简单了。我按大小比较数组/集合。如果 size 等于,则 start 等于每个项目。