作为这个问题的后续,是否可以编写一个将 a 添加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());
}
}