Articles of es igual a

¿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 […]

¿Cómo verificar rápidamente si dos objetos de transferencia de datos tienen propiedades iguales en C #?

Tengo estos objetos de transferencia de datos: public class Report { public int Id { get; set; } public int ProjectId { get; set; } //and so on for many, many properties. } No quiero escribir public bool areEqual(Report a, Report b) { if (a.Id != b.Id) return false; if (a.ProjectId != b.ProjectId) return false; […]

Usar el operador == en Java para comparar objetos de envoltura

Estoy leyendo SCJP Java 6 por Kathy Sierra y Bert Bates y este libro me confunde mucho. En la página 245 indican que el siguiente código a continuación. Integer i1 = 1000; Integer i2 = 1000; if(i1 != i2) System.out.println(“different objects”); //Prints output different objects Luego en la página siguiente tienen el siguiente código Integer […]