我希望覆盖const styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'column',
},
upper: {
flex: 0,
maxHeight: '50%',
},
lower: {
flex: 1,
},
});
,如果两个对象实现相同的接口(BaseProduct)并且它们的所有字段相等,那么两个对象应该被视为相等。
在测试这些方法时,我注意到了一个有趣的行为:如果equals
和groceryProduct
都将techProduct
字段设置为List<Reviews> reviews
且其他字段相等,则比较hashCodes和null
方法返回true。
但是,如果两个对象都有一个传递给构造函数的评论列表(下面示例中的最后一个参数),则比较返回的hashCodes和equals
方法都会返回false。
调试代码时,我看到equals
和groceryProduct
确实有不同的hashCode值。
我想知道是什么原因导致这种行为?
我故意将techProduct
方法中的reviews
字段与Objects.deepEquals()进行比较,希望它可以解决问题。但它没有帮助。
equals