Integrated Dynamics

Integrated Dynamics

63M Downloads

@EqualsAndHashCode(callSuper = true) doesn't work as intended

josephcsible opened this issue ยท 0 comments

commented

@EqualsAndHashCode(callSuper = true)
@Data
public class AspectVariableFacade extends VariableFacadeBase implements IAspectVariableFacade {

@EqualsAndHashCode(callSuper = true)
@Data
public class OperatorVariableFacade extends VariableFacadeBase implements IOperatorVariableFacade {

@EqualsAndHashCode(callSuper = true)
@Data
public class ProxyVariableFacade extends VariableFacadeBase implements IProxyVariableFacade {

@EqualsAndHashCode(callSuper = true)
@Data
public class ValueTypeVariableFacade<V extends IValue> extends VariableFacadeBase implements IValueTypeVariableFacade<V> {

VariableFacadeBase doesn't override equals or hashCode, so these callSuper entries fall back to Object's equals and hashCode methods, making these objects only compare equal if they're equal by identity.