Necesita ser consciente de la diferencia entre Long
y long
-long
es el tipo primitivo, Long
es el tipo de envoltura. (Un poco como un valor en caja en C#, pero fuertemente tipado.) ¿Cuál es el tipo de devolución de getId()
?
Simplemente:
assertEqual(id1, id2);
debe estar bien si está haciendo esto en una prueba. De lo contrario, podría utilizar:
if (id1.equals(ids2))
si son definitivamente no nulo, o utilizar Guava:
if (Objects.equal(id1, id2))
para manejar nulidad. (Puede escribir Objects.equal
a sí mismo, por supuesto, pero que sin duda debe hacerse con guayaba todos modos, por lo que también podría usar eso ...)
Vale la pena señalar que ciertos objetos envolventes se vuelven a utilizar - así por ejemplo, :
// This will work
Long x = 5L;
Long y = 5L;
assertTrue(x == y); // Reference comparison
// This *probably* won't but it could!
x = 10000L;
y = 10000L; assertTrue (x == y); // comparación de referencia
En realidad, esta pregunta es confusa porque no se trata de comparar, sino de probar la igualdad. Ver http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html#compareTo(T) –