Я не знал, как правильно назвать этот вопрос, поэтому, если он лучше подходит для редактирования, сделайте это.Мой вопрос касается использования универсальных типов в интерфейсе, а затем вынуждает реализацию к определенному типу.Примерно так:
public interface Test<T> {
void testMethod(Object<T> obj);
}
И затем вместо разрешения универсального объекта в реализации этого интерфейса установите тип как-то.
public class TestImpl implements Test<TestObject1> {
@Override
public void testMethod(TestObject1 obj) {
//Do something
}
}
public class Test2Impl implements Test<TestObject2> {
@Override
public void testMethod(TestObject2 obj) {
//Do something
}
}
За исключением того, что вы не можете параматизировать Object и iЯ не уверен, как это настроить.Это вообще возможно?Прямо сейчас я просто использую универсальный объект, но это заставляет меня проверять тип передаваемого класса для каждого отдельного метода и / или приведения и т. Д. И т. Д. Было бы намного чище, если бы я мог просто использовать дженерики в интерфейсе изатем конкретные классы по реализации.