Вам необходимо знать разницу между Long
и long
- long
- это тип примитива, Long
- это тип оболочки. (Немного похоже на коробочное значение в C #, но строго типизировано.) Какой тип возвращаемого значения getId()
?
Просто:
assertEqual(id1, id2);
должно быть хорошо, если вы делаете это в тесте. В противном случае вы можете использовать:
if (id1.equals(ids2))
если они определенно не ноль, или используйте Гуава :
if (Objects.equal(id1, id2))
для обработки недействительности. (Конечно, вы можете написать Objects.equal
самостоятельно, но в любом случае вы обязательно должны овладеть Гуавой , так что вы можете использовать это ...)
Стоит отметить, что некоторые объекты-обертки используются повторно, например:
// 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); // Reference comparison