У меня есть тестовый пример Junit4
, который статически импортирует метод (ы) org.junit.Assert.assertEquals
.import static не работает, если класс имеет методы с тем же именем, что и импортированные
import static org.junit.Assert.assertEquals;
В этом классе я создал метод полезности для утверждения некоторых сложных внутренних классов, которые не реализуют равные (а также иметь трудное время, реализующий его).
private void assertEquals(MyObj o1, MyObj o2)
{
assertEquals(o1.getSomething(), o2.getSomething());
assertEquals(o1.getSomethingElse(), o2.getSomethingElse());
...
}
Я ожидал, что код вести себя так, как будто я «перегрузки» в assertEquals
метод (ы), что я импортируя, но это выглядит как мой личный нестатической метода скрывается статически импортированные методы , Я также попытался превратить свой метод в public
и static
(все перестановки), но без успеха - мне пришлось переименовать его.
Любая причина, по которой это происходит так? Я не мог найти ссылки на это поведение в документации.
Что мешает вам изменить подпись (или даже имя) внутреннего метода? – spot35
@DomSelvon, Изменение подписи не помогает. О имени метода - меня не останавливает - вопрос теперь чисто для знания (уже изменил имя) – RonK