Как продолжение к этому вопросу , возможно ли написать единственный метод, который добавляет Dog
в подходящую комнату? (В этом примере он принимает либо комнату Animal
, либо комнату Dog
.) Или я вынужден написать два разных метода, как показано ниже? (Я даже не могу полагаться на перегрузку из-за стирания типа).
public class Rooms {
interface Animal {}
class Dog implements Animal {}
class Room<T> {
void add(T t) {}
}
void addDogToAnimalRoom(Room<Animal> room) {
room.add(new Dog());
}
void addDogToDogRoom(Room<Dog> room) {
room.add(new Dog());
}
}