Articles of es igual a

Sobreescribiendo GetHashCode para objetos mutables?

He leído aproximadamente 10 preguntas diferentes sobre cuándo y cómo anular GetHashCode pero todavía hay algo que no entiendo del todo. La mayoría de las implementaciones de GetHashCode se basan en los códigos hash de los campos del objeto, pero se ha mencionado que el valor de GetHashCode nunca debería cambiar durante la vigencia del […]

¿Por qué `Array (0,1,2) == Array (0,1,2)` no devuelve el resultado esperado?

Por lo que yo entiendo, Scala == define la igualdad natural de dos objetos. Esperaba que Array(0,1,2) == Array(0,1,2) comparara la igualdad natural. Por ejemplo, comprueba si todos los elementos de la matriz devuelven verdadero cuando se compara con los elementos correspondientes de la otra matriz. La gente me dijo que Scala’s Array es solo […]

¿Cuál es la mejor estrategia para Equals y GetHashCode?

Estoy trabajando con un modelo de dominio y estaba pensando en las diversas formas en que tenemos que implementar estos dos métodos en .NET. ¿Cuál es tu estrategia preferida? Esta es mi implementación actual: public override bool Equals(object obj) { var newObj = obj as MyClass; if (null != newObj) { return this.GetHashCode() == newObj.GetHashCode(); […]

¿Por qué debería anular hashCode () cuando anulo el método equals ()?

Ok, he escuchado de muchos lugares y fonts que siempre que sobreescribo el método equals (), también tengo que anular el método hashCode (). Pero considere la siguiente pieza de código package test; public class MyCustomObject { int intVal1; int intVal2; public MyCustomObject(int val1, int val2){ intVal1 = val1; intVal2 = val2; } public boolean […]

BigDecimal es igual a () que compare a ()

Considere la clase de prueba simple: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal(“1”); BigDecimal y = new BigDecimal(“1.00”); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 ? “true”: “false”); } } […]

Hashcode e iguales para Hashset

Por favor, aclara mi duda en Hashset. Considera el siguiente código class Person { String name; Person(String n) { name=n; } public String getName() { return name; } @Override public boolean equals(Object arg0) { System.out.println(“in equals”); Person obj=(Person)arg0; System.out.println(“1st “+getName()); System.out.println(“2nd “+obj.getName()); if(this.getName().equals(obj.getName())) { return true; } return false; } @Override public int hashCode() { […]

Cadenas de Java: compare a () frente a igual ()

Al probar la igualdad de String ‘s en Java, siempre he usado equals() porque para mí este parece ser el método más natural para ello. Después de todo, su nombre ya dice lo que está destinado a hacer. Sin embargo, un colega mío me dijo recientemente que se le había enseñado a usar compareTo() == […]

Apache Commons es igual a / hashCode builder

Tengo curiosidad por saber qué piensa la gente de aquí usando org.apache.commons.lang.builder EqualsBuilder / HashCodeBuilder para implementar equals / hashCode ? ¿Sería una mejor práctica que escribir la tuya? ¿Funciona bien con Hibernate? ¿Cual es tu opinion?

¿Cómo asegurar que hashCode () sea consistente con equals ()?

Al anular la función equals () de java.lang.Object, los javadocs sugieren que, generalmente es necesario anular el método hashCode siempre que se anule este método, a fin de mantener el contrato general para el método hashCode, que establece que los objetos iguales deben tener códigos hash iguales. El método hashCode () debe devolver un entero […]

¿Cuál es la diferencia entre IEquatable y simplemente anulando Object.Equals ()?

Quiero que mi clase de Food pueda probar cuando sea igual a otra instancia de Food . Más tarde lo List.Contains() contra una Lista, y quiero usar su método List.Contains() . ¿Debería implementar IEquatable o simplemente anular Object.Equals() ? Desde MSDN: Este método determina la igualdad mediante el uso del comparador de igualdad predeterminado, tal […]