У меня есть простой кусок кода, тестирующий репозиторий Spring:
//repository is declared in code, doesn't really matter
@Test
public void objectTest() {
Integer testId = 10;
TestedObject testObj = repository.getTestedObject(testId);
assertNotNull(testObj);
assertEquals(testId, testObj.getId()); //testObj.getId() is an Integer, not int
}
Этот код дает мне предупреждение о testId
, которое может быть примитивным .
Когда я изменяю testId
на примитив, появляется ошибка неоднозначности, поскольку assertEquals(testId, testObj.getId())
может соответствовать как assertEquals(Object, Object)
, так и assertEquals(int, int)
из-за функции автобокса Java.
Я ненавижу незафиксированныйпредупреждения, и я хотел бы избавиться от них. Предупреждение о том, что testId
не является примитивным появляется только в IntelliJ IDEA , Eclipse даже не волнует.
Должен ли я:
- приводить переменную?
assertEquals((Integer) testId, testObj.getId())
- настроить серьезность предупреждения в IDEA?
Кроме того, я хотел бы оставить Integer в getId()
методе testObj
, в случае любого объекта -связанные манипуляции, которые нельзя сделать с примитивами.